我有一个如下所示的for循环:
<ul>
{% for post in latest_post_list %}
<li>{{ post }}</li>
</ul>
{% empty %}
<p>No posts are available.</p>
{% endfor %}
但是我想将每个post对象包装在模板中,例如:
{% for post in latest_post_list %}
{% include 'jobposttemplate.html' %}
{% empty %}
{% include 'noposts.html' %}
{% endfor %}
jobposttemplate.html将包括JobPost模型中保存的所有各种信息。
我尝试过:
{% for jobposttemplate.html in latest_post_list %}
{{ jobposttemplate.html }}
{% empty %}
{% include 'noposts.html' %}
{% endfor %}
但是,可以预见,这没有用。基本上,我只是想避免每次都不得不写出html,例如:
{% for post in latest_post_list %}
<div style="blah">{{ post.deadline }}
</div>
<div style="schmah">{{ post.created_at }}
</div>
{% empty %}
<p>No posts are available.</p>
{% endfor %}
答案 0 :(得分:0)
如果您在templates/
目录中使用应用特定的子文件夹,则也需要在此处将它们添加到文件名中。
{% include 'myapp/jobposttemplate.html' %}
如果您希望模板可以访问变量,则可以使用with
将它们添加到模板的作用域中。子模板还可以访问所有范围变量。
{% include 'myapp/jobposttemplate.html' with object=post %}