Flask--登录验证(多个装饰器)

Posted 忘川的彼岸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask--登录验证(多个装饰器)相关的知识,希望对你有一定的参考价值。

登录验证(多个装饰器)

from flask import Flask,url_for,session,render_template
import functools

app = Flask(__name__)

def auth(func):
    @functools.wraps(func)
    def inner(*args,**kwargs):
        username = session.get('name')
        if not username:
            return redirect(url_for("login"))
        return func(*args,**kwargs)
    return inner

@app.route("/index",endpoint="homepage")    # 别名
@auth               # 登录验证放在下面
def index():
    data_dict = DATA_DIC
    return render_template("index.html",data_dict=data_dict)
  
# 由于Flask别名默认为函数名并且重复会导致报错,所以需要加上functools

以上是关于Flask--登录验证(多个装饰器)的主要内容,如果未能解决你的问题,请参考以下文章

装饰器实现flask登录,没登录不让看index页面,多个装饰器装饰一个函数的执行顺序

flask中的登录验证 装饰器版 befor_request版

Flask10 登录模块表单框架表单渲染表单验证bookie请求之前钩子g对象编写装饰器

如何在 Flask 中实现登录所需的装饰器

用装饰器封装Flask-WTF表单验证逻辑

为 Flask 创建身份验证装饰器的问题