request方法能解决什么问题?怎么用

request方法能解决什么问题?怎么用 ?
解决了如何判断请求的方式是POST还是GET。用句点号 .
主要是request.GET.get()和request.GET.list()方法。前者获取列表中的最后一个元素,后者获取整个列表,而request.GET是字典

步骤1:注释操作
在这里插入图片描述

步骤2:request是一个对象,里面含有POST和GET的属性和方法
在这里插入图片描述

步骤3:如何获取请求数据?
如图所示:这是GET请求的设置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
def login(request):
	username = request.GET.get("username")
    password = request.GET.get("password")
    #如何获取GET请求的数据呢?在login.html里的method里改一下方法
    print(request.GET)
    print(request.GET.get("username"),type(request.GET.get("username")))
    print(request.GET.getlist("username"),type(request.GET.getlist("username")))
    """
    <QueryDict: {'username': ['yjg', 'admin'], 'password': ['111', '999']}>
    admin <class 'str'>获取最后一个元素
    ['yjg', 'admin'] <class 'list'>获取整个列表
    """
    return render(request,"login.html")

改成POST请求,如图所示:
在这里插入图片描述
在这里插入图片描述
此时浏览器的数据是POST请求获取的,代码如下

from django.shortcuts import render,HttpResponse,redirect

# Create your views here.
def login(request):

    if request.method == "POST":
    # print(request.POST)
    #<QueryDict: {'username': ['yjg', 'admin'], 'password': ['111', '666']}>POST请求的结果
        username = request.POST.get("username")
        password = request.POST.get("password")
        print(f"{username}-{type(username)}\n{password}-{type(password)}")
        """
        POST请求的get方式获取的结果:
        admin-<class 'str'>获取列表的最后一个元素
        111-<class 'str'>获取列表的最后一个元素
        """

        username1 = request.POST.getlist("username")
        password1 = request.POST.getlist("password")
        print(f"{username1}-{type(username1)}\n{password1}-{type(password1)}")
        """
        POST请求的getlist方式获取的结果:
        ['yjg', 'admin']-<class 'list'>获取整个列表
        ['666', '111']-<class 'list'>获取整个列表
        """
        return HttpResponse("收到了")
    # print(request.GET)
    # <QueryDict: {}>GET请求的结果
    return render(request,"login.html")

总结:
request方法方法解决了获取GET请求数据和POST请求的数据的问题。
不过细节是:
在login.html文件里要做如下设置:
第一次:
在这里插入图片描述
第二次:
在这里插入图片描述

接着是request.GET是字典,request.GET.get()和request.GET.list()方法。前者获取列表中的最后一个元素,后者获取整个列表。

发布了478 篇原创文章 · 获赞 673 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/YJG7D314/article/details/103837208