[雪峰磁针石博客]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

参考资料

相关文章
|
1天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
9 0
|
10天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
15天前
|
Python
Flask中的模板的使用
Flask中的模板的使用
14 0
|
1月前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之体验产品的美颜测试关掉如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
23 1
|
1月前
|
存储 数据可视化 API
Python项目开发:Flask基于Python的天气数据可视化平台
Python项目开发:Flask基于Python的天气数据可视化平台
48 0
|
1月前
|
存储 开发框架 人工智能
使用Python和Flask构建简单的博客后端
使用Python和Flask构建简单的博客后端
21 0
|
1月前
|
JSON 中间件 Shell
使用Python和Flask构建RESTful API
使用Python和Flask构建RESTful API
23 0
|
1月前
|
Java 测试技术 持续交付
【软件工程】单元测试:构建坚固软件基石的不可或缺一环
【软件工程】单元测试:构建坚固软件基石的不可或缺一环
21 0
|
1月前
|
JSON API 数据格式
构建高效Python Web应用:Flask框架与RESTful API设计实践
【2月更文挑战第17天】在现代Web开发中,轻量级框架与RESTful API设计成为了提升应用性能和可维护性的关键。本文将深入探讨如何使用Python的Flask框架来构建高效的Web服务,并通过具体实例分析RESTful API的设计原则及其实现过程。我们将从基本的应用架构出发,逐步介绍如何利用Flask的灵活性进行模块化开发,并结合请求处理、数据验证以及安全性考虑,打造出一个既符合标准又易于扩展的Web应用。
647 4