用瓶中的jinja2模板:要点
Jinja2:Flask应用中的高效模板引擎
Jinja2是一个纯Python编写的模板引擎,它提供了一种类似Django的非XML语法,同时支持内联表达式和可选的沙箱环境。它小巧快速,易于使用,是一个独立的模板引擎。Flask是一个基于Python的微型web框架,它允许您快速高效地编写web应用程序。
本系列教程将从Flask的角度出发,讲解Jinja2模板的基础知识。后续部分将介绍高级模板主题,并学习如何在基于Flask的应用程序中以模块化和可扩展的方式布局模板。
本教程假设您已掌握Flask基础知识,并了解使用virtualenv进行Python应用程序开发的环境设置最佳实践。
安装包
Flask自带Jinja2,因此我们只需要安装Flask即可。本系列教程建议使用Flask的开发版本,它包含更稳定的命令行支持,以及许多其他功能和改进。
pip install https://github.com/mitsuhiko/flask/tarball/master
为什么需要模板引擎?
在Flask中,我们可以在无需任何第三方模板引擎的情况下编写完整的web应用程序。让我们来看一个简单的if、else和{% %}
块的例子。更新home.html
页面如下:
flask_app/templates/home.html
{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product', key=id) }}">{{product['name']}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}
观察这个模板如何扩展上层过滤器,如下所示:
{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product', key=id) }}">{{product['name']|upper}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}
现在,如果您运行服务器,您应该会注意到产品名称全部大写。
总结
在本教程中,我们学习了如何在基于Flask的应用程序中使用Jinja2布局模板结构。我们还了解了如何使用块在模板中利用继承。
在本系列的下一部分中,我们将学习如何编写自定义过滤器、自定义上下文处理器和宏。
此文章已更新,并包含来自Esther Vaati的贡献。Esther是Envato Tuts 的软件开发人员和撰稿人。
以上是用瓶中的jinja2模板:要点的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tartanify.com上,我们收集了5,000多个格子呢
