flask之flask login登陸驗證(一)

2022-03-21 15:58:31 字數 2224 閱讀 9872

這個模組能幫助我們做很多事,最常用到的是,登陸驗證(驗證當前使用者是否已經登陸)、記住我功能

一 安裝

pip install flask-login

二 匯入相關模組及物件並初始化

from flask_login import

login_manager, usermixin

login_manager_local =login_manager.loginmanager()

login_manager_local.session_protection = '

strong

'login_manager_local.login_view = 'login'

三 使用

1、定義乙個user類

#

繼承db.model 是為了方便運算元據庫

class

user(db.model, usermixin):

__tablename__ = '

users

'id = db.column(db.integer, autoincrement=true, primary_key=true)

username = db.column(db.string(20), unique=true, index=true)

pwd_hash = db.column(db.string(300))

def__init__

(self, username, pwd):

self.username =username

self.pwd =pwd

@staticmethod

defquery_by_username(username):

return user.query.filter(user.username ==username).first()

@property

defpwd(self):

raise attributeerror(u'

密碼不可讀')

@pwd.setter

defpwd(self, pwd):

self.pwd_hash =generate_password_hash(pwd)

defverify_password(self, pwd):

return

check_password_hash(self.pwd_hash, pwd)

def__repr__

(self):

return

'' % self.username

2、登陸

使用login_user登陸user後就可以使用登陸驗證@login_required

/login

', methods=['

get', '

post'])

deflogin():

if request.method == '

get'

: form =loginform()

return render_template('

login.html

', form=form)

else

: form =loginform(request.form)

ifform.validate():

username = request.form['

name']

pwd = request.form['

pwd'

] user =user.query_by_username(username)

if user and

user.verify_password(pwd):

login_user(user)

return

'login ok

'else

:

print

(form.errors)

return render_template('

login.html

', form=form)

4、登陸驗證/'

)@login_required

defhello_world():

raise

customflaskerr(d_ip_mask_format_error)

raise customflaskerr(payload=)

flask學習之加密策略,flask自帶

返回加密後密碼 property def password self return self.password hash 傳入密碼 password.setter def password self,value 對密碼簽名 self.password hash generate password h...

flask之session cookie摘抄筆記

摘抄自 cookie和session使用 一 儲存在服務端 通過cookie儲存乙個session id,然後具體的資料則是儲存在session中,如果使用者已經登入,則伺服器會在cookie中儲存乙個session id,下次再次請求的時候,會把該session id攜帶上來,伺服器根據sessi...

Flask之Flask Script 擴充套件

這個模組的作用可以讓我們通過終端來控制flask專案的執行 安裝命令 pip install flask script i整合 flask script到flask應用中,建立乙個主應用程式,一般我們叫manage.py run.py main.py都行。from flask import flas...