10before request鉤子函式

2022-05-04 14:30:09 字數 1854 閱讀 7155

1,什麼是鉤子函式?

就是執行別人前都得先執行他:

from

flask import flask'/

')def hello_world():

return

'hello world!

'def bf():

print(

"執行任何程式前都要先執行我,哈哈!")

if __name__ == '

__main__

':

2,應用在哪?

from

flask import flask,render_template,g,url_for,request,redirect,session

import os

'secret_key

'] = os.urandom(24)'

/')def hello_world():

# print(

"index")

return

'index!''

/login/

' ,methods=['

get','

post'])

def login():

# print(

"login")

if request.method == "

get"

:

return render_template('

login.html')

else

: username = request.form.get('

username')

password = request.form.get('

password')

if username == "

1" and password == "1"

: session[

'username

'] = "1"

return

'success to login in!

'else

:

return redirect(url_for('

login'))

'/edit/')

def edit():

##1和 #2都是一樣的意思,但是1更方便,hasattr() 函式用於判斷物件是否包含對應的屬性。

if hasattr(g,'

username

'): #1

# if session.get('

username

') == "

1": #2

return

'success to edit

'else

:

return redirect(url_for('

login'))

# before_request:在請求之前執行的,在檢視函式執行之前執行的。

# before_request只是乙個裝飾器,他可把要設定為鉤子函式的**放到檢視函式執行之前來執行。

def my_before_request():

print('hw

')# 有username證明使用者是登陸狀態

if session.get('

username'):

g.username = session.get('

username

') #g?# 相當於在每乙個檢視函式(如『/』,/login/執行前都會執行這個函式。)

if __name__ == '

__main__

':

失業日記 10月10日

10月10日 晴 週六 半夜醒來一次,聽到外面嘩啦啦的響聲,好像下雨了,我很好奇,難道現在下雨了嗎?雖然可能快到雨季了,但是這個時候不應該下雨啊,於是我坐起來到床邊窗戶看看是否真的下雨了,借助路燈,仔細看了看外面的地面,都很幹,沒下雨,於是向四周望一望,到處的樹葉都在抖動,隔壁的公寓區院子裡乙個很高...

10月10日 繼續加油!

10月10日 dns解析過程 1 瀏覽器先檢查自身快取中有沒有這個網域名稱對應的ip位址,如果有,解析結束。2 如果瀏覽器快取中沒有,檢查作業系統快取中有沒有對應的結果。而作業系統也有乙個網域名稱解析的過程。在windows中可通過c盤裡乙個hosts檔案來設定,如果你在這裡指定了乙個網域名稱對應的...

vmware10 win10安裝記錄

當然是用vmware啦 當然是選擇原諒 然而下了vm12的版本並跑不起來,大概是450的錯吧 嘆 然後就下了個10,嘛,反正能用就行啦 然後問題就來了,下映象呢?ms官網上都沒怎麼找到,於是網上搜部落格,發現了乙個掛映象的 後面 裡面好像挺多微軟系的軟體的,嘛,如果以後有用到第二次的話就給你錢!然後...