我覆盖了管理模板,我有类似的东西:
{% for app in app_list %}
<li>
<a href="#">
<img src="{{ MEDIA_URL }}images/list.png"/>
<span>{{ app.name }}</span>
</a>
<ul class="drawer" style="display: none;">
{% for model in app.models %}
<li>
<a href="{{ model.admin_url }}">
<span>{{ model.name }}</span>
</a>
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
但它只在索引页面上显示菜单。如何在每个管理页面上获取app_list?
答案 0 :(得分:0)
我认为您唯一的解决方案是修改base_site.html
,因为每个页面都从{% extends "admin/base_site.html" %}
延伸并包含您想要的内容!您必须创建一个管理员文件夹并将修改后的base_site.html
放入其中。您必须确保django正确加载模板目录,请参阅此question (django-override-admin-template)以获得更多说明。
答案 1 :(得分:0)
我认为您可以将代码移入 {%block nav-global%} {%endblock%} 例如,在模板文件中,如下所示:
{% block nav-global %}
{% for app in app_list %}
<li>
<a href="#">
<img src="{{ MEDIA_URL }}images/list.png"/>
<span>{{ app.name }}</span>
</a>
<ul class="drawer" style="display: none;">
{% for model in app.models %}
<li>
<a href="{{ model.admin_url }}">
<span>{{ model.name }}</span>
</a>
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
{% endblock %}
{% block content %}
......
{% endblock %}