Python-如何覆盖和扩展基本的Django管理模板?

发布于 2021-02-02 23:15:09

如何覆盖管理模板(例如admin / index.html),同时扩展它(请参见https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing -an-admin-template)?

首先-我知道这个问题已经被问过并回答过(请参阅Django:覆盖和扩展应用程序模板),但是正如答案所示,如果你使用的是app_directories模板加载器(大部分是时间)。

我当前的解决方法是制作副本并从中扩展,而不是直接从管理模板扩展。这很好用,但确实令人困惑,并且在管理模板更改时增加了额外的工作。

它可能会想到一些针对模板的自定义扩展标签,但是如果已经存在解决方案,我不想重新发明轮子。

附带说明一下:有人知道Django本身是否可以解决此问题?

关注者
0
被浏览
69
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。
    {% extends "admin:admin/index.html" %}
    
    {% block sidebar %}
        {{block.super}}
        <div>
            <h1>Extra links</h1>
            <a href="/admin/extra/">My extra link</a>
        </div>
    {% endblock %}
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看