小編給大家分享一下Python中flask如何使用頁(yè)面模版,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在flask中可以像go和angular那樣使用頁(yè)面模版(template),可以將HTML頁(yè)面顯示進(jìn)行模版化,通過(guò)參數(shù)傳遞與頁(yè)面進(jìn)行數(shù)據(jù)交互。
概要信息
事前準(zhǔn)備:flask
liumiaocn:flask liumiao$ which flask /usr/local/bin/flask liumiaocn:flask liumiao$ flask --version Flask 1.0.2 Python 2.7.10 (default, Jul 15 2017, 17:16:57) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] liumiaocn:flask liumiao$
代碼示例:嵌入式的HTML模版
像Angular一樣,我們可以在flask中寫(xiě)前端的頁(yè)面,python代碼中混雜著HTML代碼,在這里將前面的HelloWorld示例進(jìn)行簡(jiǎn)單的修改,將顯示的Hello World加上的設(shè)置。
代碼示例
liumiaocn:flask liumiao$ cat flask_1.py #!/usr/bin/python from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<h2>Hello World!</h2>" if __name__ == "__main__": app.debug=True app.run(host='0.0.0.0',port=7000) liumiaocn:flask liumiao$
執(zhí)行&確認(rèn)
在HelloWorld示例中我們提到有兩種方式啟動(dòng)flask的微服務(wù)進(jìn)程,這里再添加一種,添加#!/usr/bin/python之后,同時(shí)對(duì)此文件添加可執(zhí)行權(quán)限比如755,即可使用.啟動(dòng)
liumiaocn:flask liumiao$ chmod 755 flask_1.py liumiaocn:flask liumiao$ ./flask_1.py * Serving Flask app "flask_1" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 131-533-062
通過(guò)curl進(jìn)行結(jié)果確認(rèn):
liumiaocn:flask liumiao$ curl http://localhost:7000 <h2>Hello World!</h2>liumiaocn:flask liumiao$
頁(yè)面確認(rèn)
代碼示例
上面的示例過(guò)于簡(jiǎn)單,寫(xiě)一個(gè)簡(jiǎn)單的完整的頁(yè)面來(lái)確認(rèn)一下
liumiaocn:flask liumiao$ cat flask_1.py #!/usr/bin/python from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return '<!DOCTYPE html> \ <html> \ <head> \ <meta charset="utf-8"> \ <title>Hello</title> \ </head> \ <body>\ <h2>Hello World!</h2> \ </body>\ </html>' if __name__ == "__main__": app.debug=True app.run(host='0.0.0.0',port=7000) liumiaocn:flask liumiao$
執(zhí)行&確認(rèn)
通過(guò)curl可以確認(rèn)頁(yè)面范圍信息
liumiaocn:flask liumiao$ ./flask_1.py * Serving Flask app "flask_1" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 131-533-062
也可以通過(guò)瀏覽器來(lái)確認(rèn)title和頁(yè)面顯示
頁(yè)面模版
嵌在python的代碼中非常的麻煩,轉(zhuǎn)義的連接,以及源碼的查看都非常不方便。flask提供了Jinja2的模版渲染,只需要引入render_template即可使用。
import render_template
為了使用這個(gè)功能,首先需要在程序中做如下import
from flask import render_template
準(zhǔn)備頁(yè)面信息
比如將上文中嵌入的HTML頁(yè)面獨(dú)立成index.html,詳細(xì)信息如下:
liumiaocn:flask liumiao$ ls templates/ index.html liumiaocn:flask liumiao$ cat templates/index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello Template</title> </head> <body> <h2>Hello World!</h2> </body> </html> liumiaocn:flask liumiao$
注意事項(xiàng):flask會(huì)在當(dāng)前目錄的templates下搜索對(duì)應(yīng)的模版文件,所以需要?jiǎng)?chuàng)建templates文件夾,然后將模版html文件放入其中。
頁(yè)面調(diào)用
在頁(yè)面上只需要調(diào)用render_template即可實(shí)現(xiàn)url與對(duì)應(yīng)模版的關(guān)聯(lián),
render_template(“index.html”)
詳細(xì)代碼
liumiaocn:flask liumiao$ cat flask_2.py #!/usr/bin/python from flask import Flask from flask import render_template app = Flask(__name__) @app.route("/") def hello(): return render_template("index.html") if __name__ == "__main__": app.debug=True app.run(host='0.0.0.0',port=7000) liumiaocn:flask liumiao$
執(zhí)行&確認(rèn)
liumiaocn:flask liumiao$ python flask_2.py * Serving Flask app "flask_2" (lazy loading) * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:7000/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 131-533-062
使用curl可以看到詳細(xì)的html代碼,而且讀起來(lái)方便多了
liumiaocn:~ liumiao$ curl http://localhost:7000 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Hello Template</title> </head> <body> <h2>Hello World!</h2> </body> </html>liumiaocn:~ liumiao$
也可以通過(guò)瀏覽器確認(rèn)并查看源碼
以上是“Python中flask如何使用頁(yè)面模版”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:Python中flask如何使用頁(yè)面模版-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://m.kartarina.com/article46/didheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、品牌網(wǎng)站建設(shè)、云服務(wù)器、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容