覆盖其他应用的模板,可以在两个文件路径存放,系统会先装载项目的模板,再装载应用中的模板。
在项目目录中覆盖
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
...
},
]
修改DIRS,设置文件路径
在应用目录中覆盖
在其他应用中覆盖另一个应用的模板,仍需构造其文件路径,不如直接在项目路径中设置
继承原有模板
{% extends "admin/base_site.html" %}
{% block branding %}
<img src="link/to/logo.png" alt="logo">
{{ block.super }}
{% endblock %}
这里继承了原有模板,只修改了branding这一个区,增加一个logo,之后获取block.super将原有模板的内容填充