Python Django-模板标记方法
我试图找出一种方法来打印出一个类别的标题,如果特定类别存在的话。我的问题是,由于我通过for循环浏览我的文章,如果类别存在,我不能只发布标题,否则它会多次打印标题。例如:Python Django-模板标记方法,python,django,python-2.7,python-3.x,django-templates,Python,Django,Python 2.7,Python 3.x,Django Templates,我试图找出一种方法来打印出一个类别的标题,如果特定类别存在的话。我的问题是,由于我通过for循环浏览我的文章,如果类别存在,我不能只发布标题,否则它会多次打印标题。例如: {% for x in todays_articles %} {% with x.categories.all as categories %} {% for category in categories %} {% if category.title == "nfl" %} <p><H1>
{% for x in todays_articles %}
{% with x.categories.all as categories %}
{% for category in categories %}
{% if category.title == "nfl" %}
<p><H1>NFL:
<p>{{x.title}} {{category}}
{% endif %}
{% if category.title == "nba" %}
<p>{{x.title}} {{category}}
{% endif %}
{% endfor %}
{% endwith %}
{%for x in todays_articles%}
{%x.categories.all作为类别%}
{categories%%中的类别为%s}
{%if category.title==“nfl”%}
NFL:
{{x.title}{{category}}
{%endif%}
{%if category.title==“nba”%}
{{x.title}{{category}}
{%endif%}
{%endfor%}
{%endwith%}
将多次打印NFL/NBA。我可以复制粘贴多次
<P>NFL:
{% for x in todays_articles %}
{% with x.categories.all as categories %}
{% for category in categories %}
{% if category.title == "nfl" %}
<p>{{x.title}} {{category}}
NFL:
{今天的文章中x的百分比%}
{%x.categories.all作为类别%}
{categories%%中的类别为%s}
{%if category.title==“nfl”%}
{{x.title}{{category}}
对每个类别都这样做。我只是想知道是否有更聪明的方法来解决这个问题。谢谢。 < p>我不确定你在这里做什么,但是我想你想要模板标签。 我不确定你在这里做什么,但是我想你想要模板标签。 你可以考虑使用表标签,然后在两个不同的列中打印NFL和NBA的结果。如果你需要,我可以进一步说明 > P>你可以考虑使用表标签,然后在两个不同的栏目中使用NFL和NBA的打印结果。如果你需要,我可以进一步说明 如果我理解正确,您似乎有一段代码需要在模板中重复多次 为此,您可以使用模板
但是,如果您的项目已经按类别进行了排序,您可能只想使用Daniel Roseman指出的
ifchanged
标记。如果您的项目未按类别排序,您可能希望在视图代码中拆分这些项目,或通过单独的数据库查询将它们作为单独的变量注入模板。如果我理解正确,您似乎有一段代码需要在模板中重复多次
为此,您可以使用模板
但是,如果您的项目已经按类别进行了排序,您可能只想使用Daniel Roseman指出的
ifchanged
标记。如果您的项目未按类别排序,您可能希望在视图代码中或通过单独的数据库查询拆分这些项目,并将它们作为单独的变量注入到模板中。是否可以先循环类别,然后循环文章?是否可以先循环类别,然后循环文章?