Django自定义Admin视图中修改面包屑显示的模板配置方法
解决Django自定义Admin视图面包屑显示“Start > Foo”的问题
嘿,这个需求我熟!要把你的自定义Admin视图面包屑从单纯的“Start”改成“Start > Foo”,只需要在对应的自定义Admin模板里重写breadcrumbs块就行,具体操作如下:
- 首先确保你的模板继承了Django Admin的基础模板,比如
admin/base_site.html(如果是模型相关的视图,也可以继承对应模型的Admin模板) - 在模板中添加以下代码,覆盖默认的面包屑块:
{% extends "admin/base_site.html" %} {% block breadcrumbs %} <div class="breadcrumbs"> <a href="{% url 'admin:index' %}">Start</a> › Foo </div> {% endblock %}
如果“Foo”是一个可点击的链接(比如指向某个模型的列表页),可以改成带链接的版本:
{% extends "admin/base_site.html" %} {% block breadcrumbs %} <div class="breadcrumbs"> <a href="{% url 'admin:index' %}">Start</a> › <a href="{% url 'admin:your_app_foo_changelist' %}">Foo</a> </div> {% endblock %}
这里的›是HTML的右箭头实体,和Django Admin默认面包屑的样式保持一致,不会破坏原有页面的视觉风格。如果你的自定义视图是关联到某个模型的,也可以用模板变量动态获取名称(比如{{ opts.verbose_name_plural }}),但如果是完全独立的自定义视图,直接写死“Foo”就足够啦。
内容的提问来源于stack exchange,提问作者guettli
相关产品推荐
相关产品推荐

