跳转到主要内容

Morepath的Jinja2模板集成

项目描述

CI Status https://coveralls.io/repos/github/morepath/more.jinja2/badge.svg?branch=master https://img.shields.io/pypi/v/more.jinja2.svg https://img.shields.io/pypi/pyversions/more.jinja2.svg

more.jinja2: Morepath的Jinja2模板集成

more.jinja2Morepath的一个扩展,当使用.jinja2扩展时,它增加了Jinja2模板支持。

有关Jinja2模板语言的详细信息,请参阅Jinja2模板设计者文档

示例用法

from more.jinja2 import Jinja2App

class App(Jinja2App):
    pass

@App.path(path='persons/{name}')
class Person(object):
     def __init__(self, name):
         self.name = name

@App.template_directory()
def get_template_directory():
    return 'templates'

@App.html(model=Person, template='person.jinja2')
def person_default(self, request):
    return {'name': self.name}

然后在person.jinja2中(在templates子目录中)

<html>
<body>
<p>Hello {{name}}!</p>
</body>
</html>

请注意,Jinja2文档使用.html扩展名作为Jinja2模板,而此扩展使用.jinja2

要控制Jinja2行为,你可以在你的应用中定义一个jinja2设置部分。例如

@App.setting_section(section='jinja2')
def get_setting_section():
    return {
      'auto_reload': False,
      'autoescape': True,
    }

有关Jinja2配置选项的详细信息,请参阅Jinja2 API文档

变更记录

0.3 (2022-05-29)

  • 应用pyupgrade --py36-plus

  • 使用black代码格式化器。

  • 添加对Python 3.7、3.8、3.9和3.10的支持。

  • 修复测试收集。

  • 停止支持Python 2.7,3.4,3.5。

  • 更新测试套件以与Morepath 0.15兼容。

  • 设置与Travis CI的集成。(已替代)

  • 为Python 3.5和3.6,PyPy 3,PEP8添加Tox环境。(部分替代)

  • 使用Python 3.5进行PEP8和覆盖率测试。(已替代)

  • 清理元数据。

  • 使用GitHub Actions进行CI。

  • 修复Jinja2集成 - 由于现在它是内置的,已移除autoescape扩展。

0.2 (2015-04-09)

  • 实际发布到PyPI。

0.1 (2015-04-09)

  • 首次公开发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

more.jinja2-0.3.tar.gz (7.4 kB 查看散列)

上传时间 源代码

构建分发

more.jinja2-0.3-py3-none-any.whl (8.9 kB 查看散列)

上传时间 Python 3

由以下提供支持