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()
    
    
  • 相关阅读:
    [转]Torch是什么?
    去掉 CONSOLE 窗口(转)
    最短路径问题
    最短路,dijstra算法
    最短路,floyd算法,图的最短路径
    freckles
    还是畅通工程,最小生成树kruskal
    More is better
    畅通工程
    人见人爱
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14303013.html
Copyright © 2011-2022 走看看