创建模版
首先在项目目录的 templates
文件夹中创建index.html
。
这里就是正常的HTML代码,需要什么就写什么样式的就可以。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="/index/" method="POST">
<!--aciton 的地址,就是在urls中配置的地址。-->
<lable>姓名</lable><input type="text" name="username">
<lable>性别</lable><input type="text" name="sex">
<lable>邮箱</lable><input type="text" name="email">
<input type="submit" value="提交">
</form>
<table border="1px">
<tr>
<td>姓名</td>
<td>性别</td>
<td>邮箱</td>
</tr>
</table>
</body>
</html>
views 的编写
编写过程中主要注意以下几点:
- 因为前端的 method 提交的是
POST
- Python 中就需要对POST获取,
request.POST.get()
- 获取什么见表单中控件的
name
- 将结果加入字典,以便模版语言使用
- 记住,因为创建了列表
user_list
6.最后的render
需要将'user_list'封装{"user_list":user_list}
,一定要注意格式,用{}
包起来。
from django.shortcuts import render
user_list=[]
def index(request):
username = request.POST.get("username",None)
sex = request.POST.get("sex",None)
email = request.POST.get("email",None)
user ={"username":username,"sex":sex,"email":email}
user_list.append(user)
return render(request,"index.html",{"user_list":user_list})
模版语言
再要展示的地方插入模版语言。
模版语言:个人理解(可能理解不对)就是 通过 vender
来实现对html的操作。
{% for i in user_list %}
<tr>
<td>{{ i.username }}</td>
<td>{{ i.sex }}</td>
<td>{{ i.email }}</td>
</tr>
{% endfor %}
完整代码
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="/index/" method="POST">
<!--aciton 的地址,就是在urls中配置的地址。-->
<lable>姓名</lable><input type="text" name="username">
<lable>性别</lable><input type="text" name="sex">
<lable>邮箱</lable><input type="text" name="email">
<input type="submit" value="提交">
</form>
<table border="1px">
<tr>
<td>姓名</td>
<td>性别</td>
<td>邮箱</td>
</tr>
{% for i in user_list %}
<tr>
<td>{{ i.username }}</td>
<td>{{ i.sex }}</td>
<td>{{ i.email }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>