【问题标题】:Django Capturing multiple url parameters in request.GETDjango在request.GET中捕获多个url参数
【发布时间】:2017-01-22 09:00:12
【问题描述】:

我正在尝试从请求中获取所有查询参数

url/?animal__in=dog,cat&countries__in=france

我试过了

animals = request.GET.get('animal__in','')
countries = request.GET.get('countries__in','')

但是动物和国家不是列表,它们只是字符串。有没有更多的 django 方式来完成整个捕获?

编辑: 重要的是我在 django-admin 中使用它进行过滤,这两个不一样:

url/?animal__in=dog,cat&countries__in=france
url/?animal__in=dog&animal__in=cat&countries__in=france

【问题讨论】:

    标签: python django django-admin django-urls


    【解决方案1】:

    split(',') 工作正常,但不是真正的 django

    animals = request.GET.get('animal__in','').split(',')
    countries = request.GET.get('countries__in','').split(',')
    

    【讨论】:

      【解决方案2】:

      request.GET.getlist('some_list_field')

      【讨论】:

        【解决方案3】:

        以正确的 HTTP 格式发送参数:

        ?animal__in=dog&animal__in=cat&countries__in=france
        

        然后做

        request.GET.getlist('animal__in')
        

        【讨论】:

        • 我想将它用作 django-admin 中的过滤器:所以当我尝试这个时,它是一样的:?animal__in=cat&countries__in=france
        猜你喜欢
        • 2010-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 2015-09-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多