Django Admin覆盖url.html模板未生效该如何处理?
Django Admin自定义url.html模板不生效的解决方法
- 修正路径拼写错误
你当前存放模板的路径前缀写为compnay,和settings中配置的路径前缀company拼写不一致,先修正文件夹名,最终模板存放的完整路径应为:BASE_DIR/company/app2/templates/admin/widgets/url.html - 调整INSTALLED_APPS注册顺序
Django会按照INSTALLED_APPS的注册顺序加载模板,要将存放自定义模板的app2注册在django.contrib.admin之前,确保优先加载你的自定义模板:
# settings.py 示例配置 INSTALLED_APPS = [ 'company.app2', # 放在django.contrib.admin前面 'django.contrib.admin', 'django.contrib.auth', # 其余应用保持原有顺序 ]
- 验证模板加载状态
如果调整后仍未生效,可以在你的自定义url.html中故意添加错误语法(比如写一个不存在的模板变量{{ 不存在的变量 }}),重启服务后访问需要加载该模板的Admin页面,如果抛出模板渲染错误,说明已经成功加载你的自定义模板,否则说明路径仍存在问题。 - 清除缓存重启服务
所有配置修改完成后,清空浏览器缓存,重启Django服务即可生效。
内容的提问来源于stack exchange,提问作者Sriram
相关产品推荐
相关产品推荐

