| 
 前言为什么要用装饰器呢?在实际开发中会有这样的需求:有些视图只能给特定的权限的用户看,有些视图是需要登录的时候看,如果给每个视图一一设置,那么代码量会很大。使用装饰器就不同,只要设置好了,只要使用装饰器对对应的视图进行装饰就能实现上面的需求。 
 一、环境python 3.7flask 2.0.2
 二、使用步骤本篇博客接着上篇博客flask自定义错误页继续写代码,文件目录如下
  想具体了解装饰器的可以看这篇博客装饰器decorator实现Django的访问和权限控制
 1.创建装饰器创建装饰器文件decorators.py from flask import session, redirect, url_for
from functools import wraps
def decorator_login(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        
        name = session.get('name')
        if name:
            return func(*args, *kwargs)
        else:
            
            return redirect(url_for('test.login'))
    return wrapper
 2.使用直接使用装饰器装饰对应视图函数即可 
from flask_teach.decorators import decorator_login
@test_blue.route('/index')
@decorator_login
def index():
    return render_template('test/index.html', name=session.get('name'))
 结果先注释装饰器再访问首页
  使用装饰器之后再访问首页
 
  登录之后才能访问
 
  大功告成!!!有什么问题欢迎在评论区留言。
 下一篇:flask使用redis |