Django模板——模板·系统认知 1
1. 模板系统
1.1简介
模板(template)是django的MTV模型中的T成员,指的是与用户交互的前端界面。
1.2使用
在django项目中我们通常创建名为templates的文件夹保存模板文件,其创建方式有二:
1.2.1根目录创建
templates文件夹放在project的目录下面,是项目中或者说项目中所有的应用公用的一些模板
随后需要在项目目录的settings文件中注册
#practise/practise/settings.py
#practise是项目名
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 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',
],
},
},
]
1.2.2 APP中创建
这个templates是在项目下面的应用book文件夹里面,里面是book这个应用用到的专用模板。
## practise/practise/settings.py
## practise/book/
## practise,book是应用名字
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'book/templates')], ## 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',
],
},
},
]
1.2.3总结
-
BASE_DIR是指mysite项目的绝对路径。
‘DIRS’: [os.path.join(BASE_DIR, ‘templates’)] 是指到 BASE_DIR/templates文件夹中去取模板
‘DIRS’: [os.path.join(BASE_DIR, ‘app1/templates’)] 是指导 BASE_DIR/app1/templates文件夹中去取模板 -
第一种创建是共用的,理应创建;第二种在APP中创建方式,一般不需要。
因为在book.views中若要指定一个专用模板,只要直接写‘book_index.html’,Django服务器会在views文件所在的当前层(/book)中找到templates,从而找到模板’book_index.html’.
东强出品,必属精品 ↩︎