当前位置:   article > 正文

一周学会Django5 Python Web开发-项目配置settings.py文件-模版配置

一周学会Django5 Python Web开发-项目配置settings.py文件-模版配置

锋哥原创的Python Web开发 Django5视频教程:

2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~、第2讲 Django5安装、第3讲 Django5创建项目(用命令方式)等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV14Z421z78C/Web开发中,模板是一种较为特殊的HTML文档。这个HTML文档嵌入了一些能够让Django识别的变量和指令,然后由Django的模板引擎解析这些变量和指令,生成完整的HTML网页并返回给用户浏览。模板是Django里面的MTV框架模式的T部分,配置模板路径是告诉Django在解析模板时,如何找到模板所在的位置。创建项目时,Django已有初始的模板配置信息,如下所示:

  1. TEMPLATES = [
  2. {
  3. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  4. 'DIRS': [BASE_DIR / 'templates']
  5. ,
  6. 'APP_DIRS': True,
  7. 'OPTIONS': {
  8. 'context_processors': [
  9. 'django.template.context_processors.debug',
  10. 'django.template.context_processors.request',
  11. 'django.contrib.auth.context_processors.auth',
  12. 'django.contrib.messages.context_processors.messages',
  13. ],
  14. },
  15. },
  16. ]

模板配置是以列表格式呈现的,每个元素具有不同的含义,其含义说明如下。

  • 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底层源码,其实优先级顺序是根据模版配置的目录顺序来定的,我们前面项目模版在前面,所以就显示项目模版。

如果我们把应用模版配置路径放前面

运行测试下:

结果就是应用模版了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/105887
推荐阅读
相关标签
  

闽ICP备14008679号