1、在根目录下创建一个目录my_templates,用于存放模板文件
2、在其中创建一个模板文件
- 例如,创建一个首页,命名为index.py
3、渲染模板
回顾视图函数的作用
def 函数(request):
#1、接收数据
#2、处理数据
#3、合成响应正文
#4、返回response对象
4、模板的路径查找问题 TemplateDoesNotExist
- 在配置文件settings.py中
#初始状态DIRS列表中为空
#由前边的配置我们可以知道,BASE_DIR指的是当前项目的根目录
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates', #指定DTL模板引擎,也可以改为jinja2,下载的包中有源码(根据包含的路径去找)
'DIRS': [ #模板文件所在根目录
os.path.join(BASE_DIR,"my_templates"),#不支持中文,BASE_DIR指的是当前项目的根目录
],
'APP_DIRS': True, #先DIRS找,再 APP_DIRS找
'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',
],
},
},
]
- 在这个字典中,我们只需要连接前三个ksy值:‘BACKEND’,‘DIRS’,‘APP_DIRS’
- 如果APP_URLS项设置为True,表示可以到应用下的名字固定为templaets目录下查找模板文件
- 前提:必须将该应用app添加到配置文件中指定列表中settings.py中的INSTALLED_APPS
如何添加?
- 直接将应用名称添加到应用列表
- 将应用下app.py配置添加到应用中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#'book', #第一种方式
'book.apps.BookConfig', #第二种方式
]
本文详细介绍了在Django项目中配置模板引擎的过程,包括创建模板目录、设置模板路径、解析TemplateDoesNotExist异常以及如何在settings.py中正确配置TEMPLATES选项。通过本文,读者可以了解如何让Django在特定目录下查找模板文件,并掌握如何使应用下的templates目录被正确识别。
3849

被折叠的 条评论
为什么被折叠?



