Flask+Mysql搭建網站之其他筆記

微微微笑發表於2015-09-18

寫在前面

 之前用過python的另外一個框架,Django。感覺Django比Flask的資料要多。做這個網站的時候,遇到一些棘手的問題,怎麼百度也就只能找到翻來覆去的官方文件以及miguelgrinberg的部落格。有時候也就關鍵的幾行程式碼的問題,會花費很久才看到真正有用的東西。

還有就是,不得不說,官方文件太簡潔啦!!!

英文: http://flask.pocoo.org/docs/0.10/

中文: http://dormousehole.readthedocs.org/en/latest/index.html

找到的一些資料(雖然還沒發現有什麼用):

http://simple-is-better.com/news/214

http://segmentfault.com/a/1190000002411388

http://segmentfault.com/q/1010000002625342

 

 開始搭建網站

 1. 使用select的表單驗證

解決方法:

forms.py

TEST_SUITES=[('CC','CC'),('SMS','SMS'),('MMS','MMS')]

caseTestsuite = SelectField('caseTestsuite',choices=TEST_SUITES,validators=[Length(min=0, max=20),DataRequired()])

add_case.html

{{form.caseTestsuite(class="form-control")}}

會看到瀏覽器顯示一個select list,值為”CC","SMS","MMS"。

views.py

testsuite=form.caseTestsuite.data

如果在add_case.html選擇"SMS",那麼testsuite=“SMS”。

更過關於wtforms的表單驗證問題: http://wtforms.readthedocs.org/en/latest/index.html

 

2. 在html中使用字典

我需要在網頁上顯示字典的key 和value。可惜miguelgrinberg先生的練習中沒有字典迴圈,網上當然也找不到相關教程。

後來忽然想到關於Flask渲染使用的是JinJa,然後就查詢JinJa的官方文件。

官方文件:

解決方法:

add_case.html

{% for key,value in testsuites.iteritems() %}
    <input type="checkbox">{{key}}</input>
    <input type="checkbox">{{value}}</input>
{% endfor %}

 

相關文章