Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django在同一模板中为不同的for循环重用html块_Python_Html_Django_Django Templates - Fatal编程技术网

Python django在同一模板中为不同的for循环重用html块

Python django在同一模板中为不同的for循环重用html块,python,html,django,django-templates,Python,Html,Django,Django Templates,对于给定的对象,我有三个条件,1。首先,2。开始了,3。完成了。 我过滤视图本身中的对象,并向模板发送三个变量- 启动对象,启动对象,和完成对象 现在,我循环使用html模板中的三个for循环,如下所示: {% for obj in tostart_objects %} // chunk of html template to display all the object {% endfor %} {% for obj in started_objects %} // similar chu

对于给定的对象,我有三个条件,1。首先,2。开始了,3。完成了。 我过滤视图本身中的对象,并向模板发送三个变量-
启动对象
启动对象
,和
完成对象

现在,我循环使用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 %}
我可以不在三个不同的地方重用它们,而不是放相同的代码块吗?
如何做到这一点?请让我知道,谢谢

一种方法是将HTML块放在一个单独的模板文件中,并使用
{%include%}
将其包含在每个循环中。在此基础上,您可以将整个循环定义为一个包含模板标记,该标记将对象列表作为参数


或者,您可以将视图中的三个列表连接起来,然后循环遍历结果。

一种方法是将HTML块放在单独的模板文件中,并使用
{%include%}
将其包含在每个循环中。在此基础上,您可以将整个循环定义为一个包含模板标记,该标记将对象列表作为参数


或者,您可以将视图中的三个列表连接起来,然后循环查看结果。

+1文档参考这当然是一个解决方法,但Django模板系统中仍然缺少一个功能。如果我只在一个模板中使用它,为什么还要依赖另一个文件?为什么我不能一次看到所有代码,最好是在第一次使用的站点?+1文档参考这当然是一个解决办法,但Django模板系统中仍然缺少一个功能。如果我只在一个模板中使用它,为什么还要依赖另一个文件?为什么我不能一次看到所有代码,最好是在第一次使用的站点上?