定制模板

模板

在项目文件夹创建templates存放模板文件

# settings.py
TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATE_DIR],
...

常用模板:

admin/base.html
admin/index.html
admin/change_form.html
admin/change_list.html

可重载模板:

基于项目的: admin/change_form.html
基于app的: admin/<my_app>/change_form.html
基于模型的: admin/<my_app>/<my_model>/change_form.html

要点:

  • 使用extend而不是 重载/override
  • 使用 {{ block.super }} 扩展 blocks
  • 如果涉及模板的递归,使用软链接的方式
  • 在base.html扩展全局通用块