ここでこの django プラグインを使用しています: https://github.com/chronossc/django-breadcrumbs
しかし、実際にブレッドクラムの配列があるかどうか、テンプレートをチェックインできないようです...私は試しました:
{%if request.breadcrumbs%} {% if request.breadcrumbs|length > 0%}
などなど… しかし、あるのかどうかを本当に教えてくれるものは何もありません。
ブレッドクラムを渡した場合はこのバーを表示し、ビューにブレッドクラムを渡さなかった場合は表示しないようにします。
{% if request.breadcrumbs|length > 0 %}
<div class="navbar navbar-fixed-top" style="top:38px;z-index:1029;" id="breadcrumb-sticky-header">
<div class="container">
<div class="container-fluid">
<div class="row-fluid">
<ul id="breadcrumb-sticky-header-inner" class="breadcrumb">
{% for breadcrumb in request.breadcrumbs %}
{% if not forloop.last %}
<li><a href="{{ breadcrumb.url }}">{{ breadcrumb.name }}</a> <span class="divider">/</span></li>
{% else %}
<li class="active">{{ breadcrumb.name }}</li>
{% endif %}
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% endif %}
これが私の見解のコードです:
@login_required
def view(request, t_id):
try:
tshoot = Troubleshoot.objects.select_related('category', 'equipment', 'equipment__model').get(pk=t_id)
request.breadcrumbs([
(("%s: %s" % (tshoot.equipment.model.name, tshoot.equipment.serial)),
'/equipment/view/%s/' % (tshoot.equipment.id)),
(("%s" % (tshoot.category.name)),
'/troubleshoot/categories/view/%s/' % (tshoot.category.id)),
((tshoot.title), '')
])