自定义 Django 管理模板

     2023-02-24     97

关键词:

【中文标题】自定义 Django 管理模板【英文标题】:Customize Django admin template 【发布时间】:2018-09-07 02:20:59 【问题描述】:

我尝试像这样自定义导航栏

Base_site.html

 % block nav-global %
 <img class = "brand_img" src = "% static 'images/ic_launcher.png'%" 
    width = "50" height = "50" alt = "logo">
 %block branding%    

  % endblock %
  <div class = "head">
    <h1 id = "name">Admin Dashboard</h1>
  </div>    
% endblock %

看起来像这样

现在我尝试在 %block branding% 中添加登录页面的标题

但如果我在品牌块内添加它也会显示在导航栏中,如果我尝试在品牌块中添加图像和标题图像将显示登录页面标题。

如何为导航栏和登录页面标题添加不同的标题?

【问题讨论】:

【参考方案1】:

这很容易实现。

在您的templates 文件夹中,您应该已经创建了一个admin 子文件夹。在那里,您应该将文件 base_site.htmllogin.html 放在里面。

base_site.html的内容:

% extends 'admin/base_site.html' %

% load static %

% block branding %
    <div class="head">
        <h1 id="name">Admin Dashboard</h1>
    </div>
% endblock %

% block nav-global %
    <img class="brand_img" src="% static 'images/ic_launcher.png'%"   >
% endblock %

login.html的内容:

% extends 'admin/login.html' %

% block branding %
    <div class="head">
        <h1 id="name">Custom header text for LOGIN screen only</h1>
    </div>
% endblock %

以下是正确的项目结构:

project/
    myapp/
    myapp2/
    project/
    templates/
        admin/
            base_site.html
            login.html
    manage.py

请注意您要覆盖的每个 html 模板中的 extends。这是至关重要的。欲了解更多信息,请查看docs。

【讨论】:

如何将徽标放在name 标签之前?我可以在 OP 图像中看到徽标似乎位于页面名称的左侧。却得不到效果。会有什么办法? 我认为它应该像交换 % block branding %% block nav-global %. 中的内容一样简单,或者覆盖 % block branding % 并将 h1img 都放在那里,然后声明并留空% block nav-global %. 第二个技巧根本不起作用(名称值完全丢失)。第一种方法奏效了。不过namelogo之间没有空格,好像骑在logo上一样!! 如果问题是水平空间问题,可以根据您的需要通过#name margin-left: 20px;等CSS规则或类似规则解决。但这是另一个通过屏幕截图提出的问题,以便可视化您的问题。【参考方案2】:

我发现你需要像这样调整DIRS in TEMPLATES in settings.py

TEMPLATES = [
    
        'BACKEND': .....,
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # <-- add this line here
        'APP_DIRS': True,
        'OPTIONS': 
            'context_processors': [
                .....
            ],
        ,
    ,
]

这是告诉您的应用程序在哪里查找这些文件所必需的。除了上面@nik_m 的解决方案之外,这对我有用....

【讨论】:

`Django 管理`到项目模板中的自定义标题

】`Django管理`到项目模板中的自定义标题【英文标题】:`Djangoadministration`tothecustomtitleinprojecttemplates【发布时间】:2018-02-1821:02:26【问题描述】:在django管理面板中,我有一个要求,我该如何更改:Djangoadministration到自定义标题?... 查看详情

在 django 中覆盖管理模板以添加自定义 javascript

】在django中覆盖管理模板以添加自定义javascript【英文标题】:Overridingadmintemplateindjangotoaddcustomjavascript【发布时间】:2014-02-1111:17:33【问题描述】:我有一个模型,我需要在其管理表单中添加一些自定义javascript处理。我已经通过... 查看详情

Django 如何将自定义变量传递给上下文以在自定义管理模板中使用?

】Django如何将自定义变量传递给上下文以在自定义管理模板中使用?【英文标题】:Djangohowtopasscustomvariablestocontexttouseincustomadmintemplate?【发布时间】:2012-03-0211:10:22【问题描述】:我正在扩展change_list.html,我需要输出一个在setti... 查看详情

如何在自定义模板中使用 Django 的管理员布尔图标?

】如何在自定义模板中使用Django的管理员布尔图标?【英文标题】:HowtouseDjango\'sadminBooleaniconsinacustomtemplate?【发布时间】:2017-09-1718:47:18【问题描述】:我正在尝试构建一个django模板,该模板在某一时刻显示一个布尔变量。但... 查看详情

Django 自定义项目模板

】Django自定义项目模板【英文标题】:Djangocustomiseprojecttemplate【发布时间】:2015-12-0121:13:39【问题描述】:我正在编写您的第一个应用程序,第2部分由DjangoDocumentation编写,目前陷入自定义项目模板。我已将templateadmin/base_site.html... 查看详情

在自定义模板标签中解析 Django 自定义模板标签

】在自定义模板标签中解析Django自定义模板标签【英文标题】:ParsingaDjangocustomtemplatetagwithinacustomtemplatetag【发布时间】:2015-01-2005:21:01【问题描述】:我有一个有效的自定义模板标签。我想允许我的Django管理界面用户将该模板... 查看详情

django admin 自定义模板页面未找到错误

】djangoadmin自定义模板页面未找到错误【英文标题】:djangoadmincustomtemplatepagenotfounderror【发布时间】:2015-04-1210:11:51【问题描述】:我正在尝试修改django管理界面,但我看不到自定义模板。在admin.py文件中我添加了这个模型管理... 查看详情

用于模型重定向的 django admin 自定义模板

】用于模型重定向的djangoadmin自定义模板【英文标题】:djangoadmincustomtemplateformodelredirection【发布时间】:2015-05-1823:37:17【问题描述】:一个奇怪的问题假设我有一个模块/应用程序说Demo,其中包含一个模型说“任何东西”。现在... 查看详情

Django 管理员添加自定义过滤器

】Django管理员添加自定义过滤器【英文标题】:Djangoadminaddcustomfilter【发布时间】:2018-07-1504:01:05【问题描述】:我正在使用django1.10,我需要显示数据并根据来自不同模型的值创建过滤器(该模型具有引用我在管理模板上使用的... 查看详情

完全自定义 django 管理站点

】完全自定义django管理站点【英文标题】:fullycustomizedjangoadminsite【发布时间】:2018-12-1607:26:10【问题描述】:我是django的新手。有什么方法可以完全改变django管理站点UI?我搜索了很多,但没有一个有效(其中大多数都像56年前... 查看详情

动态自定义 django 管理列?

】动态自定义django管理列?【英文标题】:Dynamicallycustomizedjangoadmincolumns?【发布时间】:2011-02-0518:09:25【问题描述】:是否可以让用户在Django管理中动态选择/更改对象列表中显示的列?当然可以通过修改“change_list.html”模板“... 查看详情

如何在 Django 中测试自定义模板标签?

】如何在Django中测试自定义模板标签?【英文标题】:HowtotestcustomtemplatetagsinDjango?【发布时间】:2010-12-1320:34:23【问题描述】:我正在向Django应用程序添加一组模板标签,但我不确定如何测试它们。我已经在我的模板中使用了它... 查看详情

为啥它呈现 django 管理站点而不是自定义注销页面

】为啥它呈现django管理站点而不是自定义注销页面【英文标题】:whydoesitrendersdjangoadministrationsiteinsteadofcustomlogoutpage为什么它呈现django管理站点而不是自定义注销页面【发布时间】:2018-04-0302:44:25【问题描述】:我为注销页面创... 查看详情

Django - 自定义 403 模板

】Django-自定义403模板【英文标题】:Django-custom403template【发布时间】:2015-11-0600:12:07【问题描述】:我正在尝试在Django1.5中使用我的403、404、500自定义模板。404和500完美运行,但403仍然向我展示了内置的Django403模板。我将所有... 查看详情

django自定义模板函数(代码片段)

...的处理函数,模板函数的使用方式是%模板函数%1.创建自定义函数文件夹想要使用自定义模板函数的话需要先创建用于存放函数的文件夹,而在django中对于自定义函数文件夹的名称有严格的要求,即要求存放自定义模板函数的文... 查看详情

无法更改 Django 管理模板

...名称。我正在尝试按照教程中的建议用base_site.html中的自定义内容替换默认的Djangoadministration(我从django源目录复制到我的应用程序中的文件, 查看详情

自定义模板加载器 Django

】自定义模板加载器Django【英文标题】:customtemplateloaderDjango【发布时间】:2019-06-0605:17:37【问题描述】:我正在尝试在django中编写一个自定义模板加载器,它服务于s3存储桶中存在的index.html。以下是我的加载器文件fromdjango.confi... 查看详情

django之博客系统:自定义模板标签

...也允许你创建自己的模板标签(template tags)来执行自定义的动作。当你需要在你的模板中添加功能而Django模板标签(template tags)的核心设置无法提供此功能的时候,自定义模板标签会非常方便Django提供了以下帮助函数(f 查看详情