在Django CMS和Aldryn NewsBlog中列出帖子的标签

时间:2017-09-25 20:39:36

标签: django django-cms divio

我正在试图弄清楚如何显示属于Aldryn NewsBlog插件中创建的文章的标签。不幸的是,我找不到任何关于它是如何做的文档。

我可以使用以下代码显示类别。

<span style="margin: 0; display: block">
    <h4 style="display:inline-flex">Categories:</h4>
        {% for category in article.categories.all %}
            <a href="/articles/category/{{category.name|lower}}">{{ category.name }} {% if not forloop.last %}, {% endif %}</a>
        {% endfor %}
</span>

对于标签,我使用的是此代码:

<span style="margin: 0; padding-bottom: 0; display: block">
    <h4 style="display:inline-flex">Tags:</h4>
        {% for tag in article.tag %}
            <a href="/articles/tag/{{tag.name|lower}}">{{ tag.name }} {% if not forloop.last %}, {% endif %}</a>
        {% endfor %}
</span>

我做错了什么?谁能告诉我如何显示标签?

1 个答案:

答案 0 :(得分:1)

这是aldryn-newsblog的官方标签模板,它对我有用:

{% load i18n apphooks_config_tags %}

<div class="aldryn aldryn-newsblog aldryn-newsblog-tags">
<ul class="list-unstyled">
    <li{% if not newsblog_tag %} class="active"{% endif %}>
        <a href="{% namespace_url "article-list" namespace=instance.app_config.namespace default='' %}">{% trans "All" %}</a>
    </li>
    {% for tag in tags %}
        <li{% if newsblog_tag.id == tag.id %} class="active"{% endif %}>
            <a href="{% namespace_url "article-list-by-tag" tag.slug namespace=instance.app_config.namespace default='' %}">
                {{ tag.name }}
                <span class="badge">{{ tag.article_count }}</span>
            </a>
        </li>
    {% endfor %}
</ul>

https://github.com/aldryn/aldryn-newsblog/blob/master/aldryn_newsblog/boilerplates/bootstrap3/templates/aldryn_newsblog/plugins/tags.html

通过 article.tags.all

你正确,这就是你要找的东西:

{% if article.tags.exists %}
    <ul style="margin-left: 0">
        {% for tag in article.tags.all %}
            <li class="tags"><a href="{% namespace_url 'article-list-by-tag' tag=tag.slug namespace=namespace default='' %}">{{ tag.name }}</a></li>
            {% if not forloop.last %}<span class="separator tags-separator">|</span> {% endif %}
        {% endfor %}
    </ul>
{% endif %}