3-模板
理想情況下,前端和后端組件之間的完全隔離。我們可以在很大程度上使用Jinja來實(shí)現(xiàn)這一目標(biāo)。
到本章將擴(kuò)展我們的應(yīng)用程序,為所選出版物顯示不止一個(gè)標(biāo)題。我們將為每個(gè)出版物顯示多篇文章,每篇文章都鏈接到原始文章,我們的邏輯和視圖組件將在很大程度上分開。在本章中,我們將介紹以下主題:
介紹Jinja
Jinja模板使用
介紹Jinja
Jinja是一個(gè)Python模板引擎。它允許我們輕松定義由Python填充的動(dòng)態(tài)HTML塊。即使對(duì)于多個(gè)靜態(tài)網(wǎng)頁(yè)的網(wǎng)站,HTML模板也很有用,如修改頁(yè)眉和頁(yè)腳。Flask基于Jinja,盡管可以單獨(dú)使用Jinja,但Jinja仍然是Flask的固有部分。Flask提供了幾種直接與Jinja工作的方法。默認(rèn)情況下,F(xiàn)lask假定你存儲(chǔ)了所有的Jinja模板位于您的應(yīng)用程序的templates子目錄中。
Jinja模板使用
home.html
<html>
<head>
<title>Headlines</title>
</head>
<body>
<h1>Headlines</h1>
{% for article in articles %}
<b><a href="{{article.link}}">{{article.title}}</a></b><br />
<i>{{article.published}}</i><br />
<p>{{article.summary}}</p>
<hr />
{% endfor %}
</body>
</html>
import feedparser
from flask import Flask
from flask import render_template
app = Flask(__name__)
RSS_FEEDS = {'ft': 'http://www.ftchinese.com/rss/feed',
'zhihu': 'https://www.zhihu.com/rss',
'people': 'http://www.people.com.cn/rss/politics.xml',
'iol': 'http://www.iol.co.za/cmlink/1.640'}
@app.route("/")
@app.route("/<publication>")
def get_news(publication="ft"):
feed = feedparser.parse(RSS_FEEDS[publication])
return render_template("home.html", articles=feed['entries'])
if __name__ == "__main__":
app.run(host='0.0.0.0',port=8000, debug=True)

圖片.png
參考資料
- 討論qq群144081101 591302926 567351477 釘釘免費(fèi)群21745728
- 本文涉及的python測(cè)試開發(fā)庫(kù) 謝謝點(diǎn)贊!
- 本文代碼地址
- 本文相關(guān)書籍下載