Python - Django - request 对象
Posted sch01ar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - Django - request 对象相关的知识,希望对你有一定的参考价值。
request.method:
获取请求的方法,例如 GET、POST 等
views.py:
from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.method) return render(request, "test.html")
访问页面
可以通过 request.method 查看请求方式
request.GET:
用来获取 URL 里面的 GET 方式的参数
views.py:
from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.GET) # 返回的是一个字典类型 print(request.GET.get("id")) # 通过 key 获取相对应的 value return render(request, "test.html")
访问:http://127.0.0.1:8000/test/?id=2&username=admin&password=123456
request.POST:
用来获取 POST 提交过来的数据
test.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试页面</title> </head> <body> <p>测试页面</p> <form action="/test/" method="post"> <input type="text" name="username" value=""> <input type="submit" name="提交"> </form> </body> </html>
views.py:
from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.POST) # 返回的是一个字典类型 print(request.POST.get("username")) # 通过 key 获取相对应的 value return render(request, "test.html")
访问网页:
提交
request.body:
请求体,byte 类型,request.POST 的数据就是从 body 里提取的
views.py:
from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.body) return render(request, "test.html")
访问网页:
提交:
这两串是 “提交” 的 URL 编码
request.path_info:
获取用户请求的路径,不包含域名和 URL 参数
from django.shortcuts import render, HttpResponse # request 对象 def test(request): print(request.path_info) return render(request, "test.html")
访问:http://127.0.0.1:8000/test/?id=2&username=admin
以上是关于Python - Django - request 对象的主要内容,如果未能解决你的问题,请参考以下文章
python - django (request 获取 访问者的 IP)
Django 不接受来自 python-requests.patch() 的数据
Python学习---Django的request扩展获取用户设备信息
Django 2021年最新版教程35python+request+unittest 对Django接口进行测试