django 获取查询字符串的参数

home/views.py

"""查询字符串[Query String]"""
def index3(request):
    # print(request.GET)
    """
    访问地址: 
        http://127.0.0.1:8000/home/index3
    打印效果:
        <QueryDict: {}>
        
    分析: 通过request得到的客户端请求数据,基本都是会保存成QueryDict类字典给视图的,上面是空字典
          QueryDict的声明位置: from django.http import QueryDict
          QueryDict的父类继承的就是dict字典,所以字典提供的方法或者操作, QueryDict都有
    """
    """
    访问地址:
         http://127.0.0.1:8000/home/index3?name=xiapming&mobile=13312345678
    打印效果:
         <QueryDict: {'name': ['xiapming'], 'mobile': ['13312345678']}>
    分析:
        这次就获取到了name和mobile参数以及参数的值
        注意:
            因为客户端传递过来的参数有可能多个值的情况,所以查询字符串返回的数据值都是列表格式
    """
    """
    访问地址:
         http://127.0.0.1:8000/home/index3?name=xiapming&mobile=13312345678&lve=swimming&lve=shopping&lve=game
    打印效果:
        <QueryDict: {'name': ['xiapming'], 'mobile': ['13312345678'], 'lve': ['swimming', 'shopping', 'game']}>
    分析:
        因为lve有多个值的存在, 所以值就是列表中有3个成员
    """

    """获取QueryDict对象中的参数值"""
    # 获取参数的一个值,或者第一个值
    # 因为QueryDict是一个伪字典对象,所以可以通过get或者中括号获取到数据
    # print(request.GET.get("name"))
    # print(request.GET["name"])

    # 获取参数的所有值
    print(request.GET.getlist("lve")) # ['swimming', 'shopping', 'game']
    print(request.GET['lve']) # game,后面的值覆盖了前面的值

    return HttpResponse("ok")

 

posted @ 2021-11-28 09:55  urls  阅读(363)  评论(0编辑  收藏  举报