從零開始學Flask框架 006

2022-02-01 21:50:56 字數 1296 閱讀 5487

重定向和使用者會話

因為重新整理頁面時瀏覽器會重新傳送之前已經傳送過的最後乙個請求。如果這個請求是乙個包含表單資料的post 請求,重新整理頁面後會再次提交表單。

基於這個原因,最好別讓web 程式把post 請求作為瀏覽器傳送的最後乙個請求。為了解決這個問題,我們可以使用重定向作為post 請求的響應。

但這種方法會帶來另乙個問題。程式處理post 請求時,使用form.name.data 獲取使用者輸入的名字,可是一旦這個請求結束,資料也就丟失了。於是,這就需要把資料儲存在使用者會話session中。

from flask import

flask,render_template

from flask_bootstrap import

bootstrap

from flask import

request,url_for

from wtforms import

stringfield,submitfield

from wtforms.validators import

datarequired

loginform

from flask import

redirect,session

#初始化)'

secret_key

'] = '

hard to guess string'#

初始化例項

#路由,處理url 和函式之間關係的程式稱為路由

/',methods=['

get','

post'])

#檢視函式,函式執行,返回結果

defindex():

#return render_template('index.html',current_time=datetime.utcnow())

name =none

form =loginform()

ifform.validate_on_submit():

session[

'name

'] =

form.name.data

form.name.data = ''

return redirect(url_for('

index'))

return render_template('

index.html

',form=form,name=session.get('

name'))

#啟動伺服器

if__name__ == '

__main__':

零開始學python 從零開始學Python

第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...

從零開始學android

相對布局管理器指的是參考某一其他控制項進行擺放,可以通過控制,將元件擺放在乙個指定參考元件的上 下 左 右等位置,這些可以直接通過各個元件提供的屬性完成。下面介紹一下各個方法的基本使用 no.屬性名稱 對應的規則常量 描述1 android layout below relativelayout.b...

從零開始學 樹

在之前做二級的題的時候,偶爾會碰見二叉樹,很自然的就想起了樹,那麼什麼是樹呢?這裡說的可不是外面的參天大樹,而是有實際概念的樹,下面就來介紹一下樹。樹是由n n 0 個結點組成的有限集合。若n 0,稱為空樹 若n 0,則 1 有乙個特定的稱為根 root 的結點。它只有直接後繼,但沒有直接前驅 2 ...