我通过交易做html/css,我一直在和django项目一起作为模板设计师.我目前正在使用Jinja2的网站,我已经使用了大约2周.我刚刚通过阅读文档发现Jinja2不支持多级模板继承,因为你不能做多于一个
{% extends "foo" %}
Run Code Online (Sandbox Code Playgroud)
每次渲染.现在我很确定你可以在Django中做到这一点,它很强大,因为你可以指定一个基本模板,根据它指定3或4个模板,然后使用这些基础模板构建页面的内容.是不是继承点,所以你有更多的权力抽象,所以你唯一真正搞乱独特的代码?
无论如何我不知道该怎么做.我不知道是否有某些方法可以使用Django模板.我不是Django或Jinja(2)的专家,但我可以提供所需的任何信息.
可能的重复:
在 jinja2 中使用包含文件中的块作为父级
一个基本模板:
{% include "include.html" %}
Run Code Online (Sandbox Code Playgroud)包含文件
{% block somethingnew %}{% endblock somethingnew %}
Run Code Online (Sandbox Code Playgroud)一个模板
{% extends "basictemplate.html" %}
{% block somethingnew %} HEY LOOK AT ME {% endblock somethingnew %}
Run Code Online (Sandbox Code Playgroud)3 不会从布局中渲染包含文件的块。我有一个更复杂的示例,例如,我尝试将主布局分解为多个包含文件,并具有自己的块,例如导航块或内容块,但扩展该布局的模板无法将信息放入包含文件中的块中。我有点明白为什么会这样,但是有没有办法解决这个问题呢?我的主布局文件变得越来越大,我想将其切成更易于管理的部分,每个部分都包含自己的块。如果可以的话,我该怎么做?