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....
177063 次浏览

You can use [] to extract values from a QueryDict object like you would any ordinary dictionary.

# 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]

You may also use:

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

Using this ensures that you don't get an error. If the POST/GET data with any key is not defined then instead of raising an exception the fallback value (second argument of .get() will be used).