【问题标题】:Django request get parametersDjango 请求获取参数
【发布时间】:2011-05-08 22:29:55
【问题描述】:

在 Django 请求中,我有以下内容:

POST:<QueryDict: {u'section': [u'39'], u'MAINS': [u'137']}>

如何获取sectionMAINS 的值?

if request.method == 'GET':
    qd = request.GET
elif request.method == 'POST':
    qd = request.POST

section_id = qd.__getitem__('section') or getlist....

【问题讨论】:

标签: python django django-models django-views


【解决方案1】:

你也可以使用:

request.POST.get('section','') # => [39]
request.POST.get('MAINS','') # => [137] 
request.GET.get('section','') # => [39]
request.GET.get('MAINS','') # => [137]

使用它可确保您不会出错。如果未定义带有任何键的 POST/GET 数据,则不会引发异常,而是使用回退值(将使用 .get() 的第二个参数)。

【讨论】:

  • 非常感谢,这比尝试要好得多...除了
【解决方案2】:

您可以像使用任何普通字典一样使用[]QueryDict 对象中提取值。

# HTTP POST variables
request.POST['section'] # => [39]
request.POST['MAINS'] # => [137]

# HTTP GET variables
request.GET['section'] # => [39]
request.GET['MAINS'] # => [137]

# HTTP POST and HTTP GET variables (Deprecated since Django 1.7)
request.REQUEST['section'] # => [39]
request.REQUEST['MAINS'] # => [137]

【讨论】:

  • 这些年来只是一个提示:同时不推荐使用 request.REQUEST
猜你喜欢
  • 1970-01-01
  • 2013-10-01
  • 1970-01-01
  • 2018-05-30
  • 2015-09-21
  • 2018-12-20
  • 1970-01-01
  • 2018-04-26
  • 2019-03-05
相关资源
最近更新 更多