all*_*rry 6 django django-templates jinja2
根据项目文档,Jinja2模板在Django的模板之后被建模[原文如此].我在别处读到Django模板可以与Jinja2互换使用.
所以,我认为标题说明了一切:Jinja2模板是Django原生模板的一个(严格)超集吗?
否则,它们有何不同?如果差异很小,为什么Jinja2 不是 Django原生模板的超集?
不,Jinja不是Django模板语言的严格超集.文档中给出了差异的一个很好的总结.
Jinja将成为DTL的超集并没有特别的理由.它意味着可以被任何Python Web框架使用的独立包.我想说的是,大多数差异都是由于Jinja试图减少限制性和Pythonic而不是DTL.例如,虽然DTL只允许过滤器采用单个参数,并使用前所未有的:符号来指定它,但Jinja允许任意数量的参数并使用通常的()符号.
也就是说,我一直在使用Jinja与Django一段时间(使用django-jinja包)并且发现它相当无痛.我遇到的唯一真正问题是提供自定义DTL模板标记的第三方软件包.在Jinja模板中使用它们没有直接的方法.
小智 5
Django到Jinja2模板在方法调用,条件,过滤器参数和测试方面略有不同
好吧,大多数语法元素看起来和工作都一样。
Django模板中的示例:
{% for page in user.get_created_pages %}<br/>
<br/>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
在金贾将是这样的:
{% for page in user.get_created_pages() %}<br/>
<br/>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2688 次 |
| 最近记录: |