模板配置
在Web開發中,模板是一種特殊的HTML文檔。這些HTML文檔嵌入了一些能夠識別的變量和指令,然後由Django的模板引擎解析這些變量和指令,生成完整的HTML網頁並返回給用戶瀏覽。模板Django裏面的MTV框架模式的T部分,配置模板路徑是告訴Django在解析模板時,如何找到模板所在的位置。創建項目時,Django已有初始的模板配置。如下所示:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
模板配置是以列表格式呈現的,每個元素具有不同的含義,含義說明如下:
- BACKEND: 定義模板引擎,用於識別模板裏面的變量和指令。內置的模板引擎有Django Templates和jinja2.Jinjia2,每個模板引擎都有自己的變量和指令語法。
- DIRS: 設置模板所在路徑,告訴Django在哪個地方找到模板的位置,默認爲空列表。
- APP_DIRS: 是否在App裏查找模板文件。
- OPTIONS: 用於填充在RequestContext的上下文(模板裏面的變量和指令),一般情況下不做任何修改。
模板配置通常配置DIRS的屬性值即可,在項目的根目錄和index下分別創建templates文件夾,並在文件夾下分別創建文件index.html和app_index.html。一般情況下,根目錄的templates通常存放共用的模板文件,能爲各個App的模板文件調用,這個模式符合代碼重複使用原則。則配置信息代碼如下:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'),
os.path.join(BASE_DIR, 'index/templates'),
]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]