django - 面包屑动态内容
问题描述
我有一个简单的面包屑,效果很好。但我想添加一个功能,即每个 <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>
但正如你可以想象的那样,这个逻辑根本行不通。
解决方案
我犯了一个错误,我试图将 user_groups 渲染到错误的模板。由于我的 opp_breadcrumb.html 包含在我的主模板中,我应该只在其中呈现它,而不是使用 bc 视图。
推荐阅读
- ios - 无法创建 .plist 文件
- python - 如何使用字符串和整数的组合删除列?
- tcp - TCP recv 实际上做了什么?
- javascript - 是否可以简化以下 Javascript 代码但保持相同的功能
- javascript - Fullcalendar 不使用 Webpack Encore 加载视图插件
- python - 本地存储库中的 ModuleNotFoundError
- python - 将图层导出到 sde
- c++ - 为什么ios::trunc文件访问模式在我想打开文件时在ifstream类中不起作用?
- javascript - 如何在 JSON 中获取第二个密钥
- c# - UWP - MVVM - 计算的属性值更改时未更新值