django 获取查询字符串的参数

Posted urls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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")

 

以上是关于django 获取查询字符串的参数的主要内容,如果未能解决你的问题,请参考以下文章

Django中获取参数(路径,查询,请求头,请求体)

如何使用 Django 检索多个查询参数值?

是否可以将查询参数传递给 Django % url % 模板标签?

Django回顾--获取请求参数的几种方式

使用HTTP协议向服务器传参的方式及django中获取参数的方式

Django通过ajax获取请求发出两个请求