当前位置: 首页 > news >正文

一周学会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已有初始的模板配置信息,如下所示:

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

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

运行测试下:

结果就是应用模版了。

http://www.lryc.cn/news/300409.html

相关文章:

  • CF1845 D. Rating System [思维题+数形结合]
  • HeidiSQL安装配置(基于小皮面板(phpstudy))连接MySQL
  • 【蓝桥2013】错误票据
  • nvm对node版本进行管理及疑难解决,vue项目搭建与启动
  • Redisson分布式锁 原理 + 运用 记录
  • Spring Boot 笔记 021 项目部署
  • 新技术革命开始了,Sora一出,所有的视频人、电影人都下岗
  • 【FPGA开发】Modelsim和Vivado的使用
  • 现代浏览器对 es模块 【esm】原生支持
  • 修改SpringBoot中默认依赖版本
  • 网络安全最典型基础靶场-DVWA-本地搭建与初始化
  • 算法-----高精度2(高精度乘法,高精度除法,高精度斐波那锲数列)
  • windows vs 自己编译源码 leveldb 然后使用自己编译的文件
  • 基于GPT一键完成数据分析全流程的AI Agent: Streamline Analyst
  • C语言-----习题
  • Java学习笔记(五)
  • 4.【Linux】进程控制(进程终止||进程等待||程序替换)
  • 微服务设计:Spring Cloud 链路追踪概述
  • 【MySQL/Redis】如何实现缓存一致
  • Socket.D 开源输传协议 v2.4.0 发布
  • 单片机学习笔记---AT24C02数据存储
  • 首次安装Mysql数据库
  • 2024 前端面试题(GPT回答 + 示例代码 + 解释)No.1 - No.20
  • 通过`ssh`同步`tmux`剪贴板内容
  • HTTP 响应状态代码
  • [OPEN SQL] 新增数据
  • OpenHarmony—UIAbility组件生命周期
  • Mybatis的使用
  • Python 播放音乐
  • [嵌入式系统-21]:RT-Thread -7- 内核组件编程接口 - 定时器