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)