面包屑动态含量

时间:2020-01-22 14:53:38

标签: django django-models django-templates django-views django-tagging

我有一个简单的面包屑,效果很好。但是我想添加一个功能,根据用户的组,将显示每个

  • 标签。

    因此,如果用户在组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>
    

    但是您可以假设,此逻辑根本不起作用。

  • 1 个答案:

    答案 0 :(得分:0)

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