传统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