django学习笔记(五)设计模式和模板层 if-else标签

这篇博客探讨了Django的MTV模式,重点介绍了模板层的作用。在Django中,视图(V)仅负责过滤数据,模板(T)作为动态HTML,而控制器(C)主要体现在简化后的urls.py。文章讲解了如何配置项目中的templates目录,以及两种模板加载方式。此外,还详细阐述了如何在模板中使用变量,并通过实例展示了if-else标签的使用,帮助读者理解服务器端功能如何嵌入模板中进行流程控制。
摘要由CSDN通过智能技术生成

传统MVC在这里插入图片描述
V:数据的过滤,怎样的数据需要显示,这些数据一旦拿到需要怎么去显示
C:大脑,统筹
django的mtv
在这里插入图片描述
M:还是数据库增删改查 但有自己的语言规范
T:既HTML,css
V:只是过滤数据,然后丢给T,让它显示

C层也就是主路由urls.py文件,非常简化
模板:是可以根据字典数据动态变化的html网页,可以根据视图中传递的字典数据动态生成相应的html网页。

创建文件夹<项目名>/templates
在settings.py中TEMPLATES配置项
1.BACKEND:指定模板的引擎
2.DIRS:模板的搜索目录(可以是一个或者多个)
3.APP_DIRS:是否要在应用中的templates文件夹中搜索模板文件
4.OPTIONS:有关模板的选项

settings.py 配置中需要修改的部分
DIRS=‘DIRS’:[OS.PATH.JOIN(BASE_DIR, ‘templates’)],
3.2的是这个:‘DIRS’: [BASE_DIR / ‘templates’]

模板的加载
方法一:
views.py

from django.template import loader
def test_html(request):
	#1.通过loader加载模板
	t = loader.get_template('test_html.html')
	#2.将loader转成HTML字符串()
	html = t.render()
	#3.用响应对象将转换的字符串内容返回给浏览器
	return HttpResponse(html)

urls.py

path('test_html', views.test_html)

templates/test_html.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h3>我是模板层</h3>
</body>
</html>

方法二
使用render()直接加载并响应模板
views.py

def test_html(request):
	f
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值