视图请求
特点
视图函数一般用来接收一个Web请求HttpRequest,
之后返回一个Web响应HttpResponse
提取query参数
发送请求:127.0.0.1:8000/index/?id=1&name=Tom
- get
视图代码:
def index(request):
# 提取查询字符串、query参数
print(request.GET)
# 通过request的GET获取查询字符串
id = request.GET.get('id')
name = request.GET.get('name')
content = f"提取到的id为{id},提取到的name为{name}"
# return HttpResponse("这是一个简单的响应")
return HttpResponse(content)
提取post请求体中的数据
- post
视图代码:
# 提取post中得数据
def index3(request):
print(request.POST)
user = request.POST.get('user')
pwd = request.POST.get('pwd')
hobbies = request.POST.getlist('hobbies')
content = f"账号为{user},密码为{pwd},爱好为{hobbies}"
return HttpResponse(content)
<注意>
GET一般用于获取/查询资源信息,
而POST一般用于更新资源信息
返回带有表单的页面
在post基础上使用
def IndexView(request):
return render(request,'index.html')
在templates里创建index.html,在里面创建表单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>表单页面</h3>
<form method="post" action="/myview2/">
{% csrf_token %}
账号:<input type="text" name="user">
密码:<input type="password" name="pwd">
<input type="submit" value="提交">
</form>
</body>
</html>