我需要从此URL https://stackoverflow.com/questions/ask?next=1&value=3获取查询字符串,并且我不想使用request.META.我已经知道还有两种方法可以获取查询字符串:

  1. Using urlparse

  2. Using url encode

那么哪条路更好呢?我的同事更喜欢urlencode,但没有提供令人满意的解释.他们声称urlparse在内部调用urlencode,这一点我不太确定,因为urlencode位于urllib模块中.

推荐答案

您可以使用GET参数生成查询字符串,如下所示

request.GET.urlencode()

这不包括?前缀,并且它可能不会以与原始请求中相同的顺序返回密钥.

Django相关问答推荐

使用序列化器获取Django ORM auth_user. id数据

试图找出投票的总数,但无法理解它是如何在序列化器中完成的.我是Django的新手,它是如何完成的?

基于Django类的视图:除非登录,否则拒绝访问future 日期

Urls.py中路径**kwargs的Django翻译?

django.template.response.ContentNotRenderedError: 必须渲染响应内容才能迭代

Django中的多对多关系?

Django InlineModelAdmin:部分显示内联模型并链接到完整模型

try 编辑/创建时,特定模型的 Django 管理员挂起(直到超时错误)

Django ORM,按天分组

如何判断 Python unicode 字符串是否包含非西方字母?

如何在 django 中处理这种竞争条件?

在 Django 过滤器语句中,__exact 和等号 (=) 有什么区别?

Django 管理命令参数

Django: Admin:在管理员中更改字段的小部件

CherryPy 与 Django

Django:获取上次用户访问日期

从 virtualenv 中,pip freeze > requirements.txt 给出了一堆垃圾!如何修剪它?

has_object_permission 和 has_permission 有什么区别?

Django unique_together 与可为空的 ForeignKey

如何使 Django 表单字段仅包含字母数字字符