В запросе Django у меня есть следующее:
POST:<QueryDict: {u'section': [u'39'], u'MAINS': [u'137']}>
Как мне получить значения section
и MAINS
?
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 с каким-либо ключом не определены, то вместо создания исключения будет использоваться резервное значение (будет использоваться второй аргумент .get ()).
источник