Jinja
Jinja是一个快速、富有表现力且可扩展的模板引擎。模板中的特殊占位符允许编写类似Python语法的代码。然后,模板会被传入数据以渲染最终文档。
它包括:
- 模板继承和包含。
- 在模板中定义和导入宏。
- HTML模板可以使用自动转义来防止不受信任的用户输入导致的XSS攻击。
- 沙箱环境可以安全地渲染不受信任的模板。
- 支持AsyncIO,用于生成模板和调用异步函数。
- 通过Babel支持国际化(I18N)。
- 模板会即时编译为优化的Python代码并缓存,或者可以预先编译。
- 异常会指向模板中的正确行数,使调试更容易。
- 可扩展的过滤器、测试、函数,甚至语法。
Jinja的理念是,虽然应用程序逻辑尽可能属于Python,但不应该通过过度限制功能而使模板设计者的工作变得困难。
简述
{% extends "base.html" %}
{% block title %}成员{% endblock %}
{% block content %}
<ul>
{% for user in users %}
<li><a href="{{ user.url }}">{{ user.username }}</a></li>
{% endfor %}
</ul>
{% endblock %}
捐赠
Pallets组织开发并支持Jinja和其他流行的软件包。为了发展贡献者和用户社区,并允许维护者投入更多时间到项目中,请立即捐赠。