我需要以编程方式区分Jinja模板文件,其他模板文件(例如ERB)和无模板纯文本文件。
根据Jinja文档:
Jinja模板不需要特定的扩展名:.html,.xml或任何其他扩展名都可以。
但是当需要显式扩展时我应该使用什么?.py
会引起误解,围绕Jinja Extensions的讨论会严重搜索搜索包括“ jinja”和“ extension”一词的所有内容。
我可以很容易地规定一个项目范围内的约定(.jnj
或者.ja
想到),但这是针对开放源代码的,因此,如果某个地方已经建立了惯例,那么我不想逆潮流。
编辑1:同样,我了解Jinja项目(故意)没有定义默认文件扩展名。我要问的是,出于某些项目特定的原因,在某些情况下需要使用非官方的约定。
编辑2:说明:这不适用于HTML内容。
{% import "whatever.html" as foo %}
则操作会毫不奇怪,同时{% import "whatever.jinja" as foo %}
会导致自动转义>
成为>
。我怀疑这就是为什么许多Django和Flask用户最终使用的一部分.html
。