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接口进行测试

在Python Django 3.0.6中使用'requests'库。

python Django注册页面显示头像