logining.py
from flask import Flask
from flask import render_template
from flask import request#交互模塊
from flask import redirect
from flask import Markup
from flask import session
#template_folder="temp"設置模板文件夾路徑
app=Flask(__name__)#typtFlask
app.secret_key="DD"
STUDENT_DICT = {
1: {'NAME': 'Old', 'AGE': 38, 'GENDER': '中'},
2: {'NAME': 'Boy', 'AGE': 73, 'GENDER': '男'},
3: {'NAME': 'EDU', 'AGE': 84, 'GENDER': '女'},
}
@app.route("/hello")//在另一個模板文件下的模板html
def hello():
return render_template("hello.html")
@app.before_request
def before_login():#每次請求都在請求生效之前,進行本函數的執行(驗證) 可以針對多種條件進行驗證,驗證是順序符合函數書寫順序
if request.path=="/log":
return None #不符合條件或是符合,進行不同處理與專項
if session.get("user"):
return None
return redirect("/log")
@app.route("/log",methods=["GET","POST"])
def login():
if request.method=="POST":
if request.form["user"]=="wlx" and request.form.get("pwd")=="wlx":
session["user"]=request.form["user"]
return redirect("/stu_info")
else:
return render_template("logining.html",msg="用戶名或密碼錯入,請重新輸入")
return render_template("logining.html") #是不是一開始就否定執行到了這,纔出現了登錄表單,纔有了
@app.route("/stu_info")
def stu_info():
if session.get("user"):
return render_template("show1.html",stu_info=STUDENT_DICT)
return redirect("/login")
@app.route("/add",methods=["GET","POST"])
def add():
if request.method=="POST":
if session.get("user"):
uid=int(request.form["ID"])
uname=request.form["uname"]
age=request.form["age"]
gender=request.form["gender"]
STUDENT_DICT[uid]={
"NAME":uname,
"AGE":age,
"GENDER":gender
}
return redirect("/stu_info")
return redirect("/login")
return render_template("xin.html")
@app.route("/edit/<int:nid>",methods=["GET","POST"])
def edit(nid):
stu=STUDENT_DICT[nid]
if request.method=="POST":
if session.get("user"):
uid=nid
uname=request.form["uname"]
age=request.form["age"]
gender=request.form["gender"]
STUDENT_DICT[uid]={
"NAME":uname,
"AGE": age,
"GENDER":gender
}
return redirect("/stu_info")
return redirect("/login")
return render_template("edit.html",stu=stu,stu_id=nid)
@app.route("/delete/<int:nid>")
def delete(nid):
if session.get("user"):
STUDENT_DICT.pop(nid)
return redirect("/stu_info")
return redirect("/login")
app.run("0.0.0.0",8081,debug=True)