跳转到主要内容

Jinja2模板绑定Pyramid Web框架

项目描述

Jinja2 绑定库,用于 Pyramid

这是为 Jinja2 模板系统Pyramid 网络框架 定制的绑定库。

请参阅 https://docs.pylonsproject.org/projects/pyramid-jinja2/en/latest/ 以获取文档或源代码分发中的 docs 子目录中的 index.rst

2.10.1 (2023-02-07)

  • 将 "master" git 分支重命名为 "main"

  • 添加对 Python 3.11 和 3.12 的支持。

  • 替换对私有 Pyramid API 的使用。

2.10 (2022-03-27)

2.9.2 (2022-03-19)

2.9.1 (2022-03-12)

此版本已被撤回,不再可用。

  • 修复包元数据。与 2.9 版本相比没有变化。

2.9 (2022-03-12)

此版本已被撤回,不再可用。

  • 停止支持 Python 3.6。

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

  • 重构项目结构以使 wheel 分发更小。

  • 将代码库 Blackify。

  • 优先使用较新的 @jinja2.pass_context,而不是已弃用的 @jinja2.contextfilter。请参阅 https://github.com/Pylons/pyramid_jinja2/pull/159

2.8 (2019-01-25)

2.7 (2016-11-15)

  • 停止支持 Python 2.6 和 3.2。

  • 添加对 Python 3.5 的支持。

  • #123: 在文档和脚手架中将测试和安装切换到 pytest 和 pip。nose 和 coverage 仍用于核心 pyramid_jinja2 包 [stevepiercy]。

  • 优先使用 resource_url,而不是已弃用的 model_url。Pyramid 已经更改了其词汇,因此让我们反映这些更改。[Mikko Ohtamaa]

  • 支持 jinja2.i18n.gettext 设置的 gettext 包装器的点路径。[mmerickel]

2.6.2 (2016-01-23)

  • 正式停止支持 Python 3.2,在 Python 3.5 和 pypy3 下进行测试 [Domen Kozar]

2.6.1 (2016-01-20)

  • 在 wheel 文件中不包括 .pyc [Domen Kozar]

2.6 (2016-01-20)

  • #116: 将脚手架更新为与 Pyramid 的默认脚手架一致 [stevepiercy]

2.5 (2015-04-16)

  • #106: 允许指定自定义的 pyramid_jinja.i18n.GetTextWrapper [dstufft]

2.4 (2015-03-27)

  • #105: 支持 jinja2.finalize 配置设置。[dstufft]

  • #94: 修复在 Windows 上加载具有相对名称的模板的问题 [zart]

  • 支持 Python 3.4 [mmerickel]

  • 改进脚手架 [marioidival]

  • #98: 尽可能避免使用 get_current_request [housleyjk]

  • #99: 添加 resource_path 过滤器 [javex]

2.3.3 (2014-07-02)

  • #91: 修复尝试包含与已加载的父级具有相同名称的模板时的递归错误。 [mmerickel]

2.3.2 (2014-06-13)

  • 修复 2.3.1 brownbag 发布版。它包含一些意外的更改,现已解决。将覆盖率提升至 100%。

2.3.1 (2014-06-13)

  • 改进模板相对搜索路径逻辑,以便在由模板构建的包含链中搜索更多可能性。当包含链长于仅包含另一个模板的单个模板时,该逻辑出现了问题。

2.3 (2014-05-30)

  • 即使使用pyramid_jinja2.renderer_factory,也需要包含pyramid_jinja2。现在它是对默认渲染器的薄包装,可以用来与另一种文件扩展名共享相同的设置。[mmerickel]

不兼容的更改

  • pyramid_jinja2 必须 被包含到Configurator中,才能使用pyramid_jinja2.renderer_factory,否则您可能会看到异常。

    ValueError: As of pyramid_jinja2 2.3, the use of the
    "pyramid_jinja2.renderer_factory" requires that pyramid_jinja2 be
    configured via config.include("pyramid_jinja2") or the equivalent
    "pyramid.includes" setting.

    修复方法是包含pyramid_jinja2

    config.include("pyramid_jinja2")

2.2 (2014-05-30)

  • #88:正式化模板加载顺序,并允许所有查找回退到搜索路径。现在,模板总是在其父模板的相对路径中搜索。如果没有找到,查找将回退到搜索路径。[mmerickel]

  • config.add_jinja2_search_path添加prepend选项,以允许将路径添加到搜索路径的开头,如果路径应该覆盖先前定义的路径。[mmerickel]

2.1 (2014-05-16)

  • 2.0系列开始添加调用config.add_jinja2_renderer的包到模板搜索路径。现在正在移除它,以支持显式的搜索路径,希望这不会影响很多人,因为这个功能只可用了一周左右。唯一的自动搜索路径是包含pyramid_jinja2时创建的默认.jinja2渲染器所添加的搜索路径。[mmerickel]

  • 调整config.include("pyramid_jinja2")以在应用程序底部的默认搜索路径之前添加jinja2.directories中的任何包。[mmerickel]

2.0.2 (2014-05-06)

  • 在从基本模板继承时,始终考虑子模板的路径。因此,当执行render("templates/foo.jinja2")foo.jinja2{% extends "base.jinja2" %}时,模板将在搜索路径上按"templates/base.jinja2"搜索。之前在查找基本模板时忽略了子模板的路径,导致当子模板相对于调用者找到而不是在搜索路径上找到时,出现了一些非常微妙且无法恢复的查找错误。[mmerickel]

  • 此版本恢复了2.x中意外删除的1.x系列的默认搜索路径行为。默认情况下将项目的根包添加到搜索路径。[mmerickel]

2.0.1 (2014-04-23)

  • #86:修复了由扩展相对于自身模板的新支持引起的回归。使用{% extends "some_asset:spec.jinja2" %}不再工作,现已修复。[mmerickel]

2.0 (2014-04-21)

  • 声明支持Python 3.4。[mmerickel]

  • #75:通过允许模板从相对于自身的模板继承,而不是强迫父模板位于搜索路径上,解决了相对模板加载缺失的部分。[mmerickel]

  • #73:添加了一个新的config.add_jinja2_renderer API,可以创建和覆盖多个Jinja2渲染器,每个渲染器可能使用不同的设置和扩展加载。

    其他API现在根据渲染器扩展进行键控,因为每个扩展可能具有不同的设置。因此,config.add_jinja2_search_pathconfig.add_jinja2_extensionconfig.get_jinja2_environment接受一个name参数,默认为.jinja2

    弃用了旧的 pyramid_jinja2.renderer_factory 机制,用于添加具有不同扩展名的渲染器。

    渲染器的配置已更新,以遵循 Pyramid 的标准冲突检测机制。这意味着如果两个模块都尝试为 .jinja2 扩展名添加渲染器,可能会引发冲突,或者调用栈中最靠近 Configurator 的调用所做的修改将获胜。此行为可以通过在适当的时间调用 config.commit 来强制配置立即生效。因此,配置被推迟到提交时间,这意味着现在 config.get_jinja2_environment 可能会返回 None,因为更改尚未提交。[mmerickel]

不兼容的更改

  • Jinja2 Environment 的创建和配置现在被推迟到 Pyramid Configurator 的提交类型。这意味着 config.get_jinja2_environment 可能会返回 None。为了解决这个问题,在尝试获取环境之前,请调用 config.commit()

1.10 (2014-01-11)

  • #77:改变 jinja2.bytecode_caching 设置的语义。新的默认值是 false(没有字节码缓存)- 必须显式将 bytecode_caching 设置为 true 以启用文件系统字节码缓存。此外,不再注册 atexit 回调以清理缓存(因为这似乎破坏了字节码缓存的大部分用途。)最后,可以通过将 jinja2.bytecode_caching 直接设置为 jinja2.BytecodeCache 实例来配置更复杂的字节码缓存。(这不能在 paste .ini 文件中完成,必须以编程方式完成。)[dairiki]

  • 防止使用 python setup.py bdist_wheel 时出错 [msabramo]

1.9 (2013-11-08)

  • 修复 scaffolds/__init__.py 中 Jinja2ProjectTemplate 的缩进级别 [Bruno Binet]

  • 移除对已废弃的 Pyramid 1.5 中的 pyramid.interfaces.ITemplateRenderer 的不必要的依赖。[mmerickel]

  • #68:添加 model_path_filterroute_path_filterstatic_path_filter 过滤器 [Remco]

  • #74:修复了使用字节码缓存时 jinja2 引擎将路由转换为 const 的问题 [Remco]

1.8 (2013-10-03)

  • #70:除非在 py3.2 下运行,否则不要为 py3.2 兼容性锁定 [dairiki]

1.7 (2013-08-07)

  • #56:python3.3:更改日志中的非 ASCII 字符会导致 pip 安装失败 [Domen Kozar]

  • #57:移除无用的警告:DeprecationWarning: reload_templates 设置已弃用,请使用 pyramid.reload_templates 代替。 [Marc Abramowitz]

1.6 (2013-01-23)

  • jinja2.i18n.domain 的默认值设置为 Pyramid 应用程序的包名称。[Domen Kozar]

  • 添加 jinja2.globals 设置,以将全局对象添加到模板上下文中 [Eugene Fominykh]

  • 添加 jinja2.newstyle 设置以启用新的 gettext 调用 [Thomas Schussler]

1.5 (2012-11-24)

  • 添加 pyramid.reload_templates 以设置 jinja2.auto_reload 而不是使用 reload_templates。弃用后者。[Domen Kozar]

  • 在 atexit 时清除字节码缓存 [Domen Kozar]

  • 添加对更多 Jinja2 选项的支持。请注意,对 jinja2.autoescape 的支持仅限于布尔值。

    • jinja2.block_start_string

    • jinja2.block_end_string

    • jinja2.variable_start_string

    • jinja2.variable_end_string

    • jinja2.comment_start_string

    • jinja2.comment_end_string

    • jinja2.line_statement_prefix

    • jinja2.line_comment_prefix

    • jinja2.trim_blocks

    • jinja2.newline_sequence

    • jinja2.optimized

    • jinja2.cache_size

    • jinja2.autoescape

    [Michael Ryabushkin]

1.4.2 (2012-10-17)

  • 添加 jinja2.undefined 设置以更改对未定义类型的处理。 [Robert Buchholz]

  • 移除冗余的解码错误处理 [Domen Kozar]

  • 默认配置字节码缓存。引入 jinja2.bytecode_cachingjinja2.bytecode_caching_directory 设置。[Domen Kozar]

  • 允许在 jinja2.tests 设置中添加自定义 Jinja2 测试。 [Sebastian Kalinowski]

1.4.1 (2012-09-12)

  • 修复 brown-bag 发布 [Domen Kozar]

1.4 (2012-09-12)

  • 正确解析传递给 add_jinja2_search_pathjinja2.directories 的相对搜索路径 [Domen Kozar]

  • 不要为 add_jinja2_extension 重新创建 jinja2.Environment [Domen Kozar]

  • 删除 Python 2.5 兼容性 [Domen Kozar]

  • 添加 static_url 过滤器。

  • 添加 devdocs setup.py 别名(类似于 Pyramid)。

  • 修改模板加载方式,使其相对于调用渲染器的包进行,以便像 Chameleon 模板加载器一样工作。

1.3 (2011-12-14)

  • 使脚手架与 Pyramid 1.3a2+ 兼容。

1.2 (2011-09-27)

  • 在 Pyramid 1.2dev 上通过测试。

  • 使兼容 Python 3.2(需要 Pyramid 1.3dev+)。

1.1 (2011-07-24)

  • 添加 get_jinja2_environment 指令。

  • 将所有配置器指令添加到文档中。

1.0 (2011-05-12)

  • 现在可以通过 jinja2.i18n.domain 指定消息域,用于国际化。

  • Paster 模板现在设置启动区域 pot/po/mo 文件。

  • 由于使用 jinja2.Environment.install_gettext_callables,pyramid_jinja2 现在依赖于 Jinja2 >= 2.5.0(参见 https://github.com/Pylons/pyramid_jinja2/pull/21)。

  • 添加演示应用程序,以便可视化国际化工作。

0.6.2 (2011-04-06)

  • 现在默认添加 jinja2.ext.i18n,有关详细信息,请参阅 i18n.rst

  • add_jinja2_extension 指令添加到配置器中。

  • 更新了 jinja2.extensions 解析机制。

  • 修复了文档,指出使用 asset: 前缀不再是必需的。

0.6.1 (2011-03-03)

  • 基于资产的加载现在具有优先级,并且不需要“asset:”前缀。

  • 修复了 asset: 加载的“current”包机制,以便更准确地找到当前包。

  • 删除对 pyramid_zcml 的依赖。

0.6 (2011-02-15)

  • 重新编写文档。

  • 现在可以通过完全绕过搜索路径,通过指定前缀 asset: 来查找模板。

  • 更新 Paster 模板,使其更接近 Pyramid 核心中所做的更改。

  • 当使用 includeme 时,将新指令 add_jinja2_search_path 添加到配置器中。

0.5 (2011-01-18)

0.4 (2010-12-16)

Paster 模板

  • 更改以与 Pyramid 核心中提供的默认模板进行规范化:从 __init__.main 中删除对 config.begin()config.end() 的调用,将入口点名称更改为 main,将入口 __init__.py 函数名称更改为 main,依赖于 WebError,使用 paster_plugins 参数在 setup.py 中的设置函数,依赖于 Pyramid 1.0a6+(使用 config 而不是 configurator)。

测试

  • 使用 testing.setUptesting.tearDown 而不是构造配置器(更好的向前兼容性)。

功能

  • 添加 model_urlroute_url 过滤器实现(并已文档化)。

文档

  • 使用 Makefile,它会自动拉取 Pylons 主题。

0.3 (2010-11-26)

  • 添加 jinja2.filtersjinja2.extensions 设置(感谢 aodag)。

  • 记录所有已知设置。

0.2 (2010-11-06)

  • 即使将 reload_templates 设置为 True,模板自动重新加载也无法正常工作。

0.1 (2010-11-05)

  • 首次发布。 不兼容 之前的 repoze.bfg.jinja2:我们使用文件系统加载器(要加载的目录来自 jinja2.directories 设置)。在解析 renderer= 行时不会关注当前包。

项目详情


下载文件

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

源分发

pyramid_jinja2-2.10.1.tar.gz (78.0 kB 查看哈希值)

上传时间

构建分发

pyramid_jinja2-2.10.1-py3-none-any.whl (43.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面