1. 程式人生 > >人工智慧—網站資訊的登入與操作(不規劃在同一個.py中,不利於欣賞)

人工智慧—網站資訊的登入與操作(不規劃在同一個.py中,不利於欣賞)

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)