這次學的是表單。需要安裝乙個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 函式...