锋哥原创的Python Web开发 Django5视频教程:
2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV14Z421z78C/在 Web开发中,模板是一种较为特殊的HTML文档。这个HTML文档嵌入了一些能够让Django识别的变量和指令,然后由Django的模板引擎解析这些变量和指令,生成完整的HTML网页并返回给用户浏览。模板是Django里面的MTV框架模式的T部分,配置模板路径是告诉Django在解析模板时,如何找到模板所在的位置。创建项目时,Django已有初始的模板配置信息,如下所示:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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:定义模板引擎,用于识别模板里面的变量和指令。内置的模板引擎有 DjangoTemplates 和 jinja2.Jinja2,每个模板引擎都有自己的变量和指令语法。
-
DIRS:设置模板所在路径,告诉Django在哪个地方查找模板的位置,默认为空列表。
-
APP_DIRS:是否在App里查找模板文件。
-
OPTIONS:用于填充在RequestContext 的上下文(模板里面的变量和指令),一般情况下不做任何修改。
我们是可以在应用里新建templates,供自己的应用使用。在templates下新建index2.html模版文件
views.py里面把index.html改成index2.html
最后就是在DIRS里面加上应用的模版路径即可。
启动测试:
http://127.0.0.1:8000/index/
但是我们这里有个疑问,如果说应用里的模版和项目里的模版名字一样,起冲突了。这时候,会选择哪个呢,或者说哪个优先级高?
我们测试下吧。把应用里的index2.html改成index.html,以及views.py里面也改下。
然后我们重新运行测试:运行结果显示的是项目里的模版。
锋哥经过查看Django底层源码,其实优先级顺序是根据模版配置的目录顺序来定的,我们前面项目模版在前面,所以就显示项目模版。
如果我们把应用模版配置路径放前面
运行测试下:
结果就是应用模版了。