zoukankan      html  css  js  c++  java
  • 装饰器的应用

     

    复制代码
    from flask import Flask,render_template,request,redirect,session
    app = Flask(__name__)
    app.secret_key = "sdsfdsgdfgdfgfh"   # 设置session时,必须要加盐,否则报错
    
    def wrapper(func):
        def inner(*args,**kwargs):
            if not session.get("user_info"):
                return redirect("/login")
            ret = func(*args,**kwargs)
            return ret
        return inner
    
    @app.route("/login",methods=["GET","POST"])  # 指定该路由可接收的请求方式,默认为GET
    def login():
        if request.method=="GET":
            return render_template("login.html")
        else:
            # print(request.values)   #这个里面什么都有,相当于body
            username = request.form.get("username")
            password = request.form.get("password")
            if username=="haiyan" and password=="123":
                session["user_info"] = username
                # session.pop("user_info")  #删除session
                return redirect("/index")
            else:
                # return render_template("login.html",**{"msg":"用户名或密码错误"})
                return render_template("login.html",msg="用户名或者密码错误")
    
    @app.route("/index",methods=["GET","POST"])
    @wrapper    #自己定义装饰器时,必须放在路由的装饰器下面
    def index():
        # if not session.get("user_info"):
        #     return redirect("/login")
        return render_template("index.html")
    
    
    if __name__ == '__main__':
        app.run(debug=True) 
    
    
    
    debug = True 是指进入调试模式,服务器会在 我们的代码修改后, 自动重新载入,有错误的话会提醒,每次修改代码后就不需要再手动重启
  • 相关阅读:
    GridView 应用貌似是个mm写的,值得尊敬!
    .net 时间函数
    .net 获取url的方法
    SaveGraphics
    asp网站页面上都是问号
    由于编码方式导致CSS样式表失效
    .net url乱码
    常用正则表达式
    解决realse版在加载toolbar后不正常退出的现象
    general error c1010070: Failed to load and parse the manifest
  • 原文地址:https://www.cnblogs.com/wwthuanyu/p/10071434.html
Copyright © 2011-2022 走看看