Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

Jinja2

Jinja2 是一个 Python 模板引擎,用于创建 HTML、XML 等其它标记格式文件,这些文件能通过 HTTP 响应返回给用户。

为什么说 Jinja2 很有用?

Jinja2 有用的原因是:它具有一致的模板标签语法,并且该项目完全是作为 一个独立的开源项目 存在的,因此它能用于其它的代码库中。

Jinja2 是对 模板引擎 概念的一种实现。 到 Web 开发 那一章去学习更多相关知识,或者到 总目录 页去查看其它所有主题。

对于一个模板引擎的代码功能来说,一个极端是允许将任意的代码嵌入到模板中,另一个极端是允许一个开发者在模板中编写任何她想要的功能。Jinja2 的实现经过了大量的考虑 ,并在这两者之前取得了一个很好的平衡。

Jinja2 的起源和发展

Jinja2 的第一个有记录的公开发行版是 2008 的 2.0rc1。自那之后,该引擎进行了大量的更新,且一直处于活跃开发状态。

Jinja2 引擎当然不是最好的模板引擎。实际上,Jinja2 语法是受到 Django 内置模板引擎启发的, Django 的相关引擎在好几年前就已发布了。之前就已经有很多的模板系统了,例如 JavaServer 页面 (JSPs),它就比 Jinja2 将近早了十年。Jinja2 的创建吸收了其它模板引擎的经验,而今它在 Python 社区中有着广泛应用。

哪些项目使用了 Jinja2?

Jinja2 是一个在 Web 框架 中经常使用的模板引擎,像 FlaskBottleMorepath 以及随着 1.8 版的更新,现在的 Django 也可选用该引擎了。 Jinja2 也被 配置管理 工具 Ansible 、静态网站生成器 Pelican 等其它许多类似工具用作模板语言。

其目标是:当开发人员已经通过某个项目学会了 Jinja2,那么在另一个需要模板功能的项目中就可以使用完全相同的语法和样式。复用降低了学习曲线并使得开源项目作者免于重造一种新的模板样式。

Jinja2 相关资源

学习更多的模板引擎知识,还是去学习新的主题?

什么是模板引擎及它们为什么很有用?

我想学习如何用框架创建 Python Web 应用。

我已经创建了一个 Python Web 应用,那我如何部署呢?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

Jinja2

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发 » Jinja2 5. 数据6. Web APIs7. 部署8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目