zoukankan      html  css  js  c++  java
  • flask中验证用户登录的装饰器

    from flask import Flask,render_template,redirect,request,session
    from functools import wraps
    
    app = Flask(__name__)
    app.secret_key = "sdfasdfasdf3fsdf"
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    @app.route('/login',methods=['GET','POST'])
    def login():
        if request.method == "GET":
            return render_template('login.html')
        else:
            user = request.form.get('username')
            pwd = request.form.get('password')
            if user == 'alex' and pwd == '123':
                session['user_info'] = user
                return redirect('/index')
            else:
                return render_template('login.html',msg='用户或密码错误')
    
    def wapper(func):
        @wraps(func)
        def inner(*args,**kwargs):
            if not session.get('user_info'):
                return redirect('/login')
            return func(*args,**kwargs)
        return inner
    
    
    @app.route('/index',methods=['GET'],endpoint='index')
    @wapper
    def index():
        return render_template('index.html')
    
    @app.route('/query',methods=['GET'],endpoint='query')
    @wapper
    def query():
        if not session.get('user_info'):
            return redirect('/login')
        return 'query'
    
    @app.route('/student',methods=['GET'],endpoint='student')
    @wapper
    def student():
        return 'student'
    
    
    
    if __name__ == '__main__':
        app.run()
    
    
  • 相关阅读:
    linux-cp
    linux-rmdir
    linux-tail
    linux-head
    linux 重定向
    hadoop环境安装及错误总结
    vim 图册
    为什么可以这么快! awk 与python的应用
    八大排序算法的 Python 实现
    linux的文件隐藏属性 chattr lsattr
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14303013.html
Copyright © 2011-2022 走看看