博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装饰器的应用
阅读量:6224 次
发布时间:2019-06-21

本文共 1348 字,大约阅读时间需要 4 分钟。

 

from flask import Flask,render_template,request,redirect,sessionapp = 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"])  # 指定该路由可接收的请求方式,默认为GETdef 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 是指进入调试模式,服务器会在 我们的代码修改后, 自动重新载入,有错误的话会提醒,每次修改代码后就不需要再手动重启

转载于:https://www.cnblogs.com/wwthuanyu/p/10071434.html

你可能感兴趣的文章
Tomcat安装、配置、优化及负载均衡详解
查看>>
虹软人脸识别SDK(java+linux/window) 初试
查看>>
ppwjs之bootstrap文字排版:到标题元素
查看>>
为了解「鼠语」华盛顿大学开发DeepSqueak深度学习软件
查看>>
jQuery-ajax
查看>>
Xcode WorkSpace含静态库多项目依赖编译
查看>>
jQueryTimers
查看>>
#奇思妙想#头脑风暴馆
查看>>
OSChina 周六乱弹 —— 这是别人家的台风福利
查看>>
org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException
查看>>
iOS 实现一个截图分享的功能
查看>>
molicode生成工程代码实战
查看>>
Hessian学习
查看>>
虚地址到物理地址的转换过程
查看>>
为什么SQL Server函数isdate与cast同时使用报错?
查看>>
Jafka源码粗略解读之一
查看>>
Windows 7 - folder options / single-click or double-click
查看>>
IP分组格式
查看>>
Cocos2d策略类塔防精品手游-MiniTD独家完整源码
查看>>
怎么样和老师学英语呀?
查看>>