Django请求获取参数

在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.... 

您可以使用[]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.POST.get('section','') # => [39] request.POST.get('MAINS','') # => [137] request.GET.get('section','') # => [39] request.GET.get('MAINS','') # => [137] 

使用这可以确保您不会收到错误。 如果没有定义任何键的POST / GET数据,则不会引发exception,而是使用fallback值(.get()的第二个参数)。