【问题标题】:Django: Extending base.html in django adminDjango:在 django admin 中扩展 base.html
【发布时间】:2021-02-05 09:03:04
【问题描述】:

我有一个带有垂直和水平菜单栏的 base.html 文件:

无论我想在哪里使用,我只需要写:

{% extends 'base.html' %}

{% block content %}
//html code

{% endblock content %}

但我不知道如何在 djando admin 的模板目录中使用相同的文件 base.html

我想要这样的输出:

我尝试了什么:

How to override and extend basic Django admin templates?

How do I correctly extend the django admin/base.html template?

Override Navbar in Django base admin page to be same as the base.html

我尝试了一些其他解决方案,只是不想增加问题的长度,base.html 文件的代码只有基本的引导程序,菜单的 html 代码。

我是 Django 新手,不胜感激!

【问题讨论】:

    标签: python django


    【解决方案1】:

    您正在查看的内容类似于nav-global

    试试这个:

    首先在您的templates 文件夹中创建一个文件夹为admin,并在同一文件夹中创建一个html 文件(base_site.html)

    假设您有单独的菜单栏 html 文件(假设该文件是 nav.html)。

    将以下代码写入base_site.html:

    {% extends 'admin/base.html' %}
    {% block nav-global %}
    {% include 'nav.html' %} #Your navigation html file
    {% endblock %}
    

    与问题无关:我找到了git repo,它可以让您了解如何自定义 django-admin 菜单。

    【讨论】:

      【解决方案2】:

      您可以将管理员的基本模板扩展为

      {% extends <b>"admin/base.html"</b> %}

      例如:

      {% extends "admin/base.html" %}
      {% block sidebar %}
          {{ block.super }}
          <div>
              <h1>Extra links</h1>
              <a href="/admin/extra/">My extra link</a>
          </div>
      {% endblock %}
      

      另外,请确保您已将 admin 应用添加到 INSTALLED_APPS

      INSTALLED_APPS = [
          # other apps,
          
          'django.contrib.admin',
          
          # other apps,
      ]

      【讨论】:

        【解决方案3】:

        大约一年半前我遇到了同样的问题,我在 djangosn-ps.org 上找到了一个不错的模板加载器,它使这变得简单。它允许您在特定应用程序中扩展模板,使您能够创建自己的 admin/index.html 以从管理应用程序扩展 admin/index.html 模板。像这样:

        {% extends "admin:admin/index.html" %}
        
        {% block sidebar %}
            {{block.super}}
            <div>
                <h1>Extra links</h1>
                <a href="/admin/extra/">My extra link</a>
            </div>
        {% endblock %}
        

        【讨论】:

          猜你喜欢
          • 2013-08-01
          • 2012-09-27
          • 1970-01-01
          • 2020-11-15
          • 1970-01-01
          • 2016-06-11
          • 2020-12-14
          • 1970-01-01
          • 2015-04-30
          相关资源
          最近更新 更多