flask web學習記錄(3)

2021-08-31 21:11:17 字數 1775 閱讀 2365

這次學的是表單。需要安裝乙個flask_wtf

設定#******x為密匙,越不好猜越好,是需要設定的

定義表單類

例子定義了乙個使用者名稱、乙個密碼還有乙個提交按鈕。

from wtforms import stringfield,submitfield,passwordfield

from wtforms.validators import datarequired,equalto

from flask_wtf import flaskform

class loginform(flaskform):

username = stringfield('使用者名稱:', validators=[datarequired()])

password = passwordfield('密碼:', validators=[datarequired()])

submit = submitfield('提交')

字段

說明stringfield

文字字段

textareafield

多行文字字段

passwordfield

密碼文字字段

hiddenfield

隱藏文字字段

datefield

文字字段,值為 datetime.date 格式

datetimefield

文字字段,值為 datetime.datetime 格式

integerfield

文字字段,值為整數

decimalfield

文字字段,值為 decimal.decimal

floatfield

文字字段,值為浮點數

booleanfield

核取方塊,值為 true 和 false

radiofield

一組單選框

selectfield

下拉列表

selectmultiplefield

下拉列表,可選擇多個值

filefield

檔案上傳字段

submitfield

表單提交按鈕

formfield

把表單作為字段嵌入另乙個表單

fieldlist

一組指定型別的字段

wtforms驗證函式:

忽然發現我為什麼要寫這個?我直接貼別人寫好的不就行了。驗證函式表

def index():

name=none

login_form = loginform()

if request.method == "post":

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

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

if login_form.validate_on_submit():

# 進入這裡就表示所有的邏輯都驗證成功

return 'success'

else:

flash('引數有誤')

# 把例項化後的register_form傳入到頁面wtf.html中

return render_template('index.html',form=login_form)

重定向和使用者會話

略flash訊息

渲染flash訊息

×}

未完待續(由於時間問題暫時寫到這裡,目標是寫乙個登陸介面)

Flask Web開發 第3章

業務邏輯和表現邏輯如果混在一起的話,會使得 難以理解和維護。所以需要將表現邏輯放到模板中。然後flask通過jinja2渲染模板。預設情況下,flask 在程式資料夾中的 templates 子資料夾中尋找模板。jinja2有自己的結構以及過濾器,具體可以參照 在前端框架選擇上,本書選擇了twitt...

Flask Web學習筆記(五)

heroku官網 ps 建議用微軟的outlook郵箱和gmail郵箱去註冊 在 基於python的web應用開發實戰 這本書,裡面提及到 heroku toolbelt實際上裝了兩個工具 heroku客戶端和foreman工具,但其實 沒有foreman工具。安裝完heroku toolbelt之...

《Flask Web開發》學習筆記1

使用虛擬環境virtualenv 可以再python直譯器中避免包的混亂和版本的衝突。啟用虛擬環境 source venv bin activate結束虛擬環境 deactivatehello.py from flask import flask def index return 把index 函式...