How to overriding templates(djan

2023-03-06  本文已影响0人  xncode

覆盖其他应用的模板,可以在两个文件路径存放,系统会先装载项目的模板,再装载应用中的模板。

在项目目录中覆盖

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将原有模板的内容填充

上一篇 下一篇

猜你喜欢

热点阅读