国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flask狼書筆記 | 07_留言板

這篇具有很好參考價值的文章主要介紹了Flask狼書筆記 | 07_留言板。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


Flask狼書筆記 | 07_留言板,學(xué)而時習(xí)之,flask,筆記,python,后端

7 留言板

這是一個簡單的程序,涉及到的大部分是之前所學(xué)習(xí)到的基礎(chǔ)知識。新涉及的python包:

  • BootStrap-FlaskFlask-Moment,FakerFlask-Debug Toolbar。

Git

git checkout package # 簽出版本
git tag -n # 列出項目包含的所有標(biāo)簽

7.1 使用包組織代碼

將大量代碼放到app.py一個文件里,代碼的管理會不太方便,可讀性也差。本節(jié)將使用一種新的代碼結(jié)構(gòu)

- sayhello
	- __init__.py
	- templates/
	- static/
	- views.py
	- forms.py
	- models.py
	- settings.py
- manage.py
- .flaskenv
...

導(dǎo)入配置:可以從python文件導(dǎo)入

app.config.from_pyfile('settings.py')

7.2 Web開發(fā)流程

一個Web程序通常的開發(fā)流程如下:

  1. 分析需求
  2. 設(shè)計程序功能
  3. 開發(fā)與測試的迭代
  4. 調(diào)試和性能等專項測試
  5. 部署上線
  6. 運維與營銷

目前我的開發(fā)流程是不規(guī)范的,喜歡早早地開始寫代碼。

1、前端開發(fā)流程:草圖 --> 交互式原型圖 --> 前端頁面。

原型設(shè)計工具有Axure RP,Mockplus。(有點感覺原型設(shè)計這一步多余,對于我這種個人開發(fā)而言)

2、后端開發(fā)流程:數(shù)據(jù)建模 --> 表單類 --> 視圖函數(shù) --> 模板。

(我經(jīng)常先寫的模板)

URL片段:如#bottom,可以實現(xiàn)頁內(nèi)位置跳躍。

7.3 使用Bootstrap-Flask

內(nèi)置了可以快速渲染Bootstrap樣式HTML組件的,并提供了內(nèi)置的Bootstrap資源。(p206)

1、擴(kuò)展初始化

from flask_bootstrap import Bootstrap
bootstrap = Bootstrap(app)

2、加載資源文件

在FLASK_ENV為development時,將自動使用本地資源。

BOOTSTRAP_SERVE_LOCAL=True # 設(shè)置使用本地資源
{{ bootstrap.load_css() }}
{{ bootstrap.load_js() }}

CDN:Content Delovery Network,內(nèi)容分發(fā)網(wǎng)絡(luò)

3、快捷渲染表單

如宏render_form()可以快捷渲染整個表單。

<div class="hello-form">
	{{ render_form(form), action=request.full_path }}
</div>

疑惑:這個action怎么在小括號外面,沒有輸錯嗎?

render_form常用參數(shù):(p208)

Bootstrap-Flask內(nèi)置的常用宏:(p208)

7.4 Flask-Moment本地化日期和時間

服務(wù)器提供純正的時間(native time),即不包含時區(qū)信息的時間戳,如datetime.utcnow()。然后再瀏覽器通過JavaScript顯示本地的時間。

1、加載資源

需要從Moment.js官網(wǎng)下載資源到static文件夾(如果不從CDN加載資源)。

{{ moment.include_moment() }} {# 默認(rèn)從cdn加載資源 #}
{{ moment.include_moment(local_js=url_for(...)) }} {# 從本地加載 #}

還可以設(shè)置顯示時間的語言(p210)。

2、功能

Moment.js提供了多種時間格式化的方式(p211)

還支持輸出相對時間(p211)

7.5 使用Faker生成虛擬數(shù)據(jù)

可以使用對于的虛擬數(shù)據(jù)類別來獲取虛擬數(shù)據(jù),每次調(diào)用可以得到不同的結(jié)果。此外,它也提供了中文數(shù)據(jù)支持。

7.6 Flask_DebugToolbar調(diào)試程序

可以用來查看請求的SQL語句、配置選項、資源加載情況等信息(?用來干嘛)。也可以幫助進(jìn)行性能分析。

7.7 Flask配置的兩種組織形式

再開發(fā)和部署時通常需要不同的配置,例如需要連接到不同的數(shù)據(jù)庫。建議通過環(huán)境變量保存配置,以便分離配置和程序。環(huán)境變量可以存儲在.flaskenv或者.env中。

Flask支持建立一個instance文件夾(實例文件夾,我也不知道為什么叫這個名字),用來存放配置。然后,你可以用它來覆蓋通用配置(重復(fù)配置項后者覆蓋前者)。

app = Flask(__name__, instance_relative_config=True)
app.config_from_object('config') # 通用配置
app.config.from_pyfile('config.py') # instance文件夾下的配置

其中instance_relative_config參數(shù)告訴Flask我們配置文件的路徑是相對于instance文件夾的。

flask_shell命令會輸出instance文件夾合適的位置。

疑惑:這里的通用配置是從哪里加載的?從“環(huán)境變量”嗎?

小結(jié)

這一節(jié)的內(nèi)容確實比較簡單,介紹了一些項目開發(fā)過程中的流程和工具。最后的SayHello項目,頁面給人一種簡潔而美觀之感,這是我所做不到的。(常常感覺自己寫出來的頁面有點丑)

大部分工具我暫時都還沒有去嘗試它們,看以后什么時候會需要吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-703616.html


到了這里,關(guān)于Flask狼書筆記 | 07_留言板的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包