当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django Loader用法及代码示例


本文介绍 django.template.loaders.app_directories.Loader 的用法。

声明

class app_directories.Loader

从文件系统上的 Django 应用程序加载模板。对于 INSTALLED_APPS 中的每个应用程序,加载程序会查找 templates 子目录。如果该目录存在,Django 会在其中查找模板。

这意味着您可以将模板与您的个人应用程序一起存储。这也有助于使用默认模板分发 Django 应用程序。

例如,对于此设置:

INSTALLED_APPS = ['myproject.polls', 'myproject.music']

…然后get_template('foo.html')将在这些目录中查找foo.html,顺序如下:

  • /path/to/myproject/polls/templates/
  • /path/to/myproject/music/templates/

......并将使用它首先找到的那个。

INSTALLED_APPS 的顺序很重要!例如,如果您想自定义 Django 管理员,您可以选择在 django.contrib.admin 中使用您自己的 admin/base_site.html 覆盖标准的 admin/base_site.html 模板 myproject.polls 。然后,您必须确保您的 myproject.polls 来自 before django.contrib.admin INSTALLED_APPS ,否则将首先加载 django.contrib.admin ,而您的将被忽略。

请注意,加载程序在第一次运行时会执行优化:它缓存了一个列表,其中列出了 INSTALLED_APPS 包具有 templates 子目录。

您可以通过将 APP_DIRS 设置为 True 来启用此加载程序:

TEMPLATES = [{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'APP_DIRS': True,
}]

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.template.loaders.app_directories.Loader。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。