這篇文章主要介紹了Python的Django框架中的TEMPLATES設置,主要講述了Django1.8版本後的一些新特性,需要的朋友可以參考下
TEMPLATES
Django 1.8的新特性
一個列表,包含所有在Django中使用的模板引擎的設置。列表中的每一項都是一個字典,包含某個引擎的選項。
以下是一個簡單的設定,告訴Django模板引擎從已安裝的應用程序(installed applications)的templates子目錄中讀取模板:
?
1 2 3 4 5 6 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'APP_DIRS': True, }, ]以下選項對所有引擎(backends)都可用。
BACKEND
默認:無定義
使用的模板引擎。內建的模板引擎有:
?
1 2 'django.template.backends.django.DjangoTemplates' 'django.template.backends.jinja2.Jinja2'通過設置BACKEND為一個完整的(fully-qualified)路徑(例如'mypackage.whatever.Backend'),你可以使用非Django自帶的引擎。
NAME
默認:看下面
該模板引擎的別名。它是一個標識符,讓你在渲染時可以選擇一個引擎。別名在所有配置好的模板引擎中必須是唯一的。
當未提供值時,默認是定義引擎類的模板名,也即是與BACKEND相鄰的最後一部分。
例如如果引擎是'mypackage.whatever.Backend',那麼它的默認名為'whatever'。
DIRS
默認:[](空列表)
引擎用於查找模板源文件的目錄,按搜索順序排列。
APP_DIRS
默認:False
引擎是否在已安裝應用程序(的目錄)內查找模板源文件。
OPTIONS
默認:{}(空字典)
傳遞給該模板引擎(backend)的其他參數。不同的引擎,可用的參數不一樣。
TEMPLATE_CONTEXT_PROCESSORS
默認:
?
1 2 3 4 5 6 7 ("django.contrib.auth.context_processors.auth", "django.template.context_processors.debug", "django.template.context_processors.i18n", "django.template.context_processors.media", "django.template.context_processors.static", "django.template.context_processors.tz", "django.contrib.messages.context_processors.messages")自1.8版本起,不贊成使用:
在一個DjangoTemplates引擎中的OPTIONS設置'context_processors'選項來代替。
用於填充在RequestContext中的上下文的調用函數(callables)的元組。這些函數獲取一個request對象作為它的參數,返回一個將要填充至上下文項目的字典。
Django 1.8的變化:
在Django 1.8中,內建模板的上下文處理器從django.core.context_processors移至django.template.context_processors。
TEMPLATE_DEBUG
默認:False
自1.8版本起,不贊成使用:
在一個DjangoTemplates引擎中的OPTIONS設置'debug' 選項來代替。
一個打開/關閉模板調試模式的布爾值。如果值是True,在模板渲染期間,拋出任何異常都將顯示一個可愛的、詳情報告的錯誤頁面。該頁面包含該模板相關的代碼段,並且使用適當的行高亮。
注意如果DEBUG是True,Django只會顯示可愛的錯誤頁面。
參見 DEBUG。
TEMPLATE_DIRS
默認:()(空列表)
自1.8版本起,不贊成使用:
在一個DjangoTemplates引擎中設置'DIRS'選項來代替。
django.template.loaders.filesystem.Loader搜索模板源代碼的路徑列表,,按搜索順序排列。
注意即使在Windows中,這些路徑也是使用Unix風格的正斜槓。
參見 The Django template language 。
TEMPLATE_LOADERS
默認:
?
1 2 ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')自1.8版本起,不贊成使用:
在一個DjangoTemplates引擎中的OPTIONS設置'loader'選項來代替。
模板讀取器類的元組,用字符串指定。每個讀取器類知道怎樣從一個特定源(particular source)中導入模板。可選地,也可以使用一個元組來代替使用一個字符串。元組中的第一項應該是讀取器的模塊,隨後的項是在初始化時傳遞給讀取器。參見 The Django template language: for Python programmers。
TEMPLATE_STRING_IF_INVALID
默認:''(空字符串)
自1.8版本起,不贊成使用:
在一個DjangoTemplates引擎中的OPTIONS設置'string_if_invalid' 選項來代替。
當使用了不可用的(比如說拼寫錯誤)變量時模板系統輸出的字符串。參見 How invalid variables are handled。