Python之Flask登入認證 裝飾器

2021-09-23 14:23:40 字數 1361 閱讀 3936

from flask import flask, render_template, request, response, redirect, session, url_for

usrs = ,

2: ,

3: ,

4: }"""

redirect_to="/", 重定向到另乙個頁面

subdomain="admin" 子網域名稱

請求相關的全部在request

"""import functools

@functools.wraps(func) # 設定函式的元資訊

def inner(*args, **kwargs):

user = session.get('user_info')

# if not user

if user is none:

return redirect("/login")

return func(*args, **kwargs)

return inner

def detail(nid):

print(nid)

info = usrs.get(nid)

return render_template('detail.html', info=info)

pass

def index():

user = session.get('user_info')

if user is none:

url = url_for('l1') # 反向生成

return redirect(url)

return render_template('index.html', user_dict=usrs)

def login():

if request.method == "get":

return render_template('login.html')

else:

# request.query_string

usename = request.form.get('username')

password = request.form.get("password")

if usename == 'alex' and password == "123":

# 記錄使用者登入

session['user_info'] = usename

return redirect('/index')

return render_template('login.html ', error="使用者名稱或者密碼錯誤")

if __name__ == '__main__':

# 裝飾器(檢驗使用者認證)

Flask登入案例

class dataswitch 資料交換 def init self server,port,user,password,db name,autocommit false self.conn psycopg2.connect host server,port port,user user,pass...

Flask 登入練習

使用藍圖並用cbv模式完成登入功能 登入成功後跳轉到首頁 將session儲存在liunx上的redis資料庫 使用before request驗證是否是登陸使用者 from flask import blueprint,render template,redirect,views,request,...

flask學習之管理使用者登入登出

安裝第三方庫flask login pip install flask login第三方模組ext中初始化 login manager loginmanager 繫結session login manager.user loader def load user uid return user.que...