flask框架關(guān)于靜態(tài)文件及其模板生成
靜態(tài)文件主要包括css,JavaScript等腳本文件、圖片等,在加載文件的時(shí)候主要是用url_for方法。語法url_for(‘文件夾’, filename=‘調(diào)用文件路徑及擴(kuò)展名’)
對(duì)于網(wǎng)頁來說,靜態(tài)文件是不可避免的。即使簡(jiǎn)潔如 Google,其主頁也包含有圖片。靜態(tài)文件通常是 css 文件、js 文件以及圖片、視頻、音頻文件等。
靜態(tài)文件
Web程序中常常需要處理靜態(tài)文件,在Flask中需要使用url_for函數(shù)并指定static端點(diǎn)名和文件名。在下面的例子中,實(shí)際的文件應(yīng)放在static/文件夾下。
url_for('static', filename='style.css')
模板生成
Flask默認(rèn)使用Jinja2作為模板,F(xiàn)lask會(huì)自動(dòng)配置Jinja 模板,所以我們不需要其他配置了。默認(rèn)情況下,模板文件需要放在templates文件夾下。
使用 Jinja 模板,只需要使用render_template函數(shù)并傳入模板文件名和參數(shù)名即可。
from flask import render_template @app.route('/hello/') @app.route('/hello/
相應(yīng)的模板文件如下。
Hello {{ name }}!
{% else %}Hello, World!
{% endif %}日志輸出
Flask 為我們預(yù)配置了一個(gè) Logger,我們可以直接在程序中使用。這個(gè)Logger是一個(gè)標(biāo)準(zhǔn)的Python Logger,所以我們可以向標(biāo)準(zhǔn)Logger那樣配置它,詳情可以參考官方文檔或者我的文章Python 日志輸出。
app.logger.debug('A value for debugging') app.logger.warning('A warning occurred (%d apples)', 42) app.logger.error('An error occurred')
處理請(qǐng)求
在 Flask 中獲取請(qǐng)求參數(shù)需要使用request等幾個(gè)全局對(duì)象,但是這幾個(gè)全局對(duì)象比較特殊,它們是 Context Locals ,其實(shí)就是 Web 上下文中局部變量的代理。雖然我們?cè)诔绦蛑惺褂玫氖侨肿兞?,但是?duì)于每個(gè)請(qǐng)求作用域,它們都是互不相同的變量。理解了這一點(diǎn),后面就非常簡(jiǎn)單了
。
Flask
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。