for循环中的Django模板

时间:2018-08-05 09:57:25

标签: django django-templates

我有一个如下所示的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 %} 

1 个答案:

答案 0 :(得分:0)

如果您在templates/目录中使用应用特定的子文件夹,则也需要在此处将它们添加到文件名中。

{% include 'myapp/jobposttemplate.html' %}

如果您希望模板可以访问变量,则可以使用with将它们添加到模板的作用域中。子模板还可以访问所有范围变量。

{% include 'myapp/jobposttemplate.html' with object=post %}