Python中flask如何使用頁(yè)面模版-創(chuàng)新互聯(lián)

小編給大家分享一下Python中flask如何使用頁(yè)面模版,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、市中ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的市中網(wǎng)站制作公司

在flask中可以像go和angular那樣使用頁(yè)面模版(template),可以將HTML頁(yè)面顯示進(jìn)行模版化,通過(guò)參數(shù)傳遞與頁(yè)面進(jìn)行數(shù)據(jù)交互。

概要信息

Python中flask如何使用頁(yè)面模版

事前準(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)

Python中flask如何使用頁(yè)面模版

代碼示例

上面的示例過(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è)面顯示

Python中flask如何使用頁(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è)面模版

以上是“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)

小程序開(kāi)發(fā)
主站蜘蛛池模板: 亚洲国产日产无码精品| 中文字幕在线无码一区二区三区| 日本精品人妻无码免费大全| 亚洲精品无码少妇30P| 野花在线无码视频在线播放| 内射无码专区久久亚洲| 无码不卡av东京热毛片| 色窝窝无码一区二区三区成人网站| 亚洲人成人无码网www国产| 无码人妻久久一区二区三区| 亚洲国产精品无码久久久久久曰| 国产精品三级在线观看无码| 国产午夜精品无码| 亚洲国产成人精品无码区二本| 丰满熟妇人妻Av无码区| 东京热无码av一区二区| 最新无码专区视频在线| 国产v亚洲v天堂无码网站| 自慰系列无码专区| 成人年无码AV片在线观看| 久久久久无码精品国产app| 无码av最新无码av专区| 中文字幕无码一区二区免费| 高清无码一区二区在线观看吞精| 亚洲精品自偷自拍无码| 亚洲va成无码人在线观看| 无码精品日韩中文字幕| 中文字幕丰满伦子无码| 国产成人无码一二三区视频| 精品无人区无码乱码毛片国产| 中文字幕人妻无码一区二区三区 | 中文AV人妻AV无码中文视频| 亚洲中文字幕无码一久久区| 人妻系列AV无码专区| 亚洲av麻豆aⅴ无码电影| r级无码视频在线观看| 久久青青草原亚洲av无码| 久久久久无码精品| 亚洲一区爱区精品无码| 无码精品人妻一区二区三区漫画| 国产白丝无码免费视频|