共计 1668 个字符,预计需要花费 5 分钟才能阅读完成。
一、概述
模板是 HTML 页面,可以根据传递的数据进行填充
二、模板存放目录
- 在应用目录下创建名为 templates 目录来存放模板
- 在工程目录下创建名为 templates 目录来存放模板
三、将 templates 标记为模板文件夹
四、配置模板目录
-
目的
让工程知道哪个目录是存放模板的
-
配置
settings.py 文件中的 TEMPLATES 字段
TEMPLATES = [ {'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(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', ], }, }, ]
五、定义模板 index.html
- 目的
作为主页使用
- 模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 主页 </title>
</head>
<body>
<h1>Lucky is a ver good man</h1>
</body>
</html>
- 视图
def index(request):
# 返回主页
# 参数 1:request
# 参数 2:模板路径
return render(request, "index.html")
- 路由
path(r'', views.index)
-
测试网址
http://127.0.0.1:8000
六、展示所有用户
- 视图
from App.models import User
def user(request):
# 返回所有班级信息
# 告诉模型获取所有班级信息
userData = User.objects.all()
# 将数据传递给模板,模板进行渲染,并返回页面
data = {"userData": userData
}
# 参数 3:字典类型,传递给模板的数据
return render(request, "user.html", data) # 参数 1 request 模板名称 参数 2 模板名称 参数 3 要传递的数据
- 路由
path(r'user/', views.user)
- 模板 user.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 用户信息 </title>
<style>
table{border-collapse: collapse; /* 合并单元格 */
margin: auto; /* 居中 */
}
tr>td{width: 150px; /* 宽度 */
border:1px solid chartreuse; /* 边框 */
text-align: center; /* 文字水平居中 */
}
</style>
</head>
<body>
<table>
<caption><h2> 用户信息展示表 </h2></caption>
<tr>
<td>ID</td>
<td> 用户名 </td>
<td> 密码 </td>
<td> 性别 </td>
<td> 年龄 </td>
<td> 简介 </td>
</tr>
{% for user in userData %}
<tr>
<td>{{user.id}}</td>
<td>{{user.username}}</td>
<td>{{user.password}}</td>
<td>{{user.sex}}</td>
<td>{{user.age}}</td>
<td>{{user.info}}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
-
测试网址
http://127.0.0.1:8000/user/
正文完
星哥玩云-微信公众号