首页 > 解决方案 > 面包屑动态内容

问题描述

我有一个简单的面包屑,效果很好。但我想添加一个功能,即每个 <li> 标签都将根据用户组显示。

因此,如果用户在 sample1 组中,则只有 sample1 标记在面包屑中可见。此外,如果用户在 sample1 和 sample2 组中,两个标签都会出现。

所以我需要这样的东西:

def bc(request):
    user_groups = request.user.groups.all()
    context = {'user_groups': user_groups}

    return render(request, 'opportunity/opp_breadcrumb.html', context)

opp.breadcrumb.html:

<ul id="bread" class="breadcrumb">
    {% for group in user_groups %}
        {% if group.name == 'Sample1' %}   
            <li class="breadcrumb-item"><a href="{% url 'opportunity:sample1' %}">Sample1</a></li>
        {% elif group.name == 'Sample2' %}
            <li class="breadcrumb-item"><a href="{% url 'opportunity:sample2' %}">Sample2</a></li>
        {% elif group.name == 'Sample3' %}
            <li class="breadcrumb-item"><a href="{% url 'opportunity:sample3' %}">Sample3</a></li>
        {% elif group.name == 'Sample4' %}
            <li class="breadcrumb-item"><a href="{% url 'opportunity:sample4' %}">Sample4</a></li>
        {% endif %}
    {% endfor %}

    <div class="ml-auto">
        <li style="margin-right: 20px">
            <a href="{% url 'opportunity:pdf' %}" target="_blank">
                <i class="fa fa-file-pdf-o" aria-hidden="true"></i>
            </a>
        </li>
    </div>
    <li class=" breadcrumb-item" style="margin-right: 20px"><a
            href="{% url 'opportunity:sample5' %}">Sample 5</a></li>
</ul>

但正如你可以想象的那样,这个逻辑根本行不通。

标签: djangodjango-modelsdjango-templatesdjango-viewsdjango-tagging

解决方案


我犯了一个错误,我试图将 user_groups 渲染到错误的模板。由于我的 opp_breadcrumb.html 包含在我的主模板中,我应该只在其中呈现它,而不是使用 bc 视图。


推荐阅读