use*_*366 1 html python django django-templates
我对给定的对象有三个条件,1. to start,2. started和3. finished。我过滤视图本身中的对象并将三个变量发送到模板 -
tostart_objects,started_objects和finished_objects。
现在我循环遍历 html 模板中的三个 for 循环,如下所示:
{% for obj in tostart_objects %}
// chunk of html template to display all the object
{% endfor %}
{% for obj in started_objects %}
// similar chunk of html template as above
{% endfor %}
{% for obj in finished_objects %}
// similar chunk of html template as above
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我可以不在三个不同的地方重用它们而不是放置相同的代码块吗?如何才能做到这一点?请让我知道,谢谢!
这样做的一种方法是将 HTML 块放在一个单独的模板文件中,并使用 {% include %}将其包含在每个循环中。在此基础上,您可以将整个循环定义为将对象列表作为参数的包含模板标记。
或者,您可以连接视图中的三个列表,然后循环遍历结果。