[雪峰磁针石博客]flask构建自动化测试平台3-模板

简介: 3-模板 理想情况下,前端和后端组件之间的完全隔离。我们可以在很大程度上使用Jinja来实现这一目标。 到本章将扩展我们的应用程序,为所选出版物显示不止一个标题。我们将为每个出版物显示多篇文章,每篇文章都链接到原始文章,我们的逻辑和视图组件将在很大程度上分开。

3-模板

理想情况下,前端和后端组件之间的完全隔离。我们可以在很大程度上使用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)

image.png

参考资料

相关文章
|
2月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
126 2
|
2月前
|
测试技术 持续交付 人机交互
软件测试计划说明书模板
软件测试计划说明书模板
|
3月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
79 0
|
6月前
|
安全 测试技术 网络安全
软件测试|测试平台开发-Flask 入门:URL组成部分详解
软件测试|测试平台开发-Flask 入门:URL组成部分详解
34 0
|
10天前
|
Python
Flask中的模板的使用
Flask中的模板的使用
12 0
|
1月前
|
存储 数据可视化 API
Python项目开发:Flask基于Python的天气数据可视化平台
Python项目开发:Flask基于Python的天气数据可视化平台
42 0
|
3月前
|
SQL 安全 BI
钉钉连接平台集成自动化让企业降本增效
钉钉连接平台(iPaas)具备强大的产品能力、丰富的解决方案、客户案例和权威认证
|
4月前
|
存储 移动开发 前端开发
Flask狼书笔记 | 03_模板
3 模板 模板(template):包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用
31 0
|
4月前
|
开发框架 Python
Web 框架 Flask 快速入门(一)flask基础与模板
🌴 Flask基础和模板 1、web框架的作用 避免重复造轮子,app程序不必关心于服务器的沟通方式,而专注于核心的业务逻辑实现。 稳定,可扩展性强
43 0
|
4月前
|
人工智能 自然语言处理 API
万媒易发:以RPA自动化和AIGC为基础实现多平台分发
在当今数字化时代,信息传播的速度越来越快,多平台分发成为了内容创作者们必须面对的重要挑战之一。为了解决这一难题,我们可以借助RPA(Robotic Process Automation)自动化和AIGC(Artificial Intelligence Generated Content)技术,实现高效的多平台内容发布。本文将介绍如何利用“万媒易发”工具来简化这一过程,提高内容分发的效率。