當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。