【问题标题】:How to override Django admin page?如何覆盖 Django 管理页面?
【发布时间】:2014-12-17 14:37:46
【问题描述】:

我覆盖了管理模板,我有这样的东西:

{% 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?

【问题讨论】:

  • 每个管理页面是什么意思?你能详细说明你想要什么和你有什么吗?
  • 例如在编辑/添加新对象页面或更改列表页面中,我想显示从 app_list 生成的菜单 - 总是
  • 我认为您唯一的解决方案是修改base_site.html,因为每个页面都从它扩展{% extends "admin/base_site.html" %} 并包含您想要的内容!

标签: django django-templates django-admin


【解决方案1】:

我认为您唯一的解决方案是修改base_site.html,因为每个页面都从它扩展{% extends "admin/base_site.html" %} 并包含您想要的内容!您必须创建一个管理文件夹并将修改后的base_site.html 放入其中。您必须确保 django 正确加载模板目录,请参阅question (django-override-admin-template) 以获得更多说明。

【讨论】:

    【解决方案2】:

    我认为您可以将代码移入 {% 块导航全局 %}{% 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 %}
    

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 2013-06-30
      • 2011-08-09
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多