3 - 模板
理想情况下, 前端和后端组件之间的完全隔离. 我们可以在很大程度上使用 Jinja 来实现这一目标.
到本章将扩展我们的应用程序, 为所选出版物显示不止一个标题. 我们将为每个出版物显示多篇文章, 每篇文章都链接到原始文章, 我们的逻辑和视图组件将在很大程度上分开. 在本章中, 我们将介绍以下主题:
介绍 Jinja
Jinja 模板使用
本文地址
介绍 Jinja
Jinja 是一个 Python 模板引擎. 它允许我们轻松定义由 Python 填充的动态 html 块. 即使对于多个静态网页的网站, HTML 模板也很有用
有, 如修改页眉和页脚. Flask 基于 Jinja, 尽管可以单独使用 Jinja, 但 Jinja 仍然是 Flask 的固有部分. Flask 和 Flask 提供了几种直接与 Jinja 工作的方法. 默认情况下, Flask 假定你存储了所有的 Jinja 模板位于您的应用程序的 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 = {'bbc': 'http://feeds.bbci.co.uk/news/rss.xml',
- 'cnn': 'http://rss.cnn.com/rss/edition.rss',
- 'fox': 'http://feeds.foxnews.com/foxnews/latest',
- 'iol': 'http://www.iol.co.za/cmlink/1.640'}
- @app.route("/")
- @app.route("/<publication>")
- def get_news(publication="bbc"):
- 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)
可爱的 python 测试开发库 https://github.com/china-testing/python-api-tesing 请在 github 上点赞, 谢谢!
python 中文库文档汇总
[雪峰磁针石博客]python3 标准库 - 中文版
[雪峰磁针石博客]python3 快速入门教程
接口自动化性能测试线上培训大纲
python 测试开发自动化测试数据分析人工智能自学每周一练
更多内容请关注 雪峰磁针石: 简书
技术支持 qq 群: 144081101(后期会录制视频存在该群群文件) 591302926 567351477 钉钉免费群: 21745728
道家技术 - 手相手诊看相中医等钉钉群 21734177 qq 群: 391441566 184175668 338228106 看手相, 面相, 舌相, 抽签, 体质识别. 服务费 50 元每人次起. 请联系钉钉或者微信 pythontesting
image.png
来源: http://www.jianshu.com/p/912f92703d22