Django请求获取参数
在一个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....
2 个回答
225
你还可以使用:
request.POST.get('section','') # => [39]
request.POST.get('MAINS','') # => [137]
request.GET.get('section','') # => [39]
request.GET.get('MAINS','') # => [137]
这样做可以确保你不会遇到错误。如果POST或GET请求中的某个键没有定义,那么程序不会报错,而是会使用你提供的备用值(也就是.get()方法中的第二个参数)。
114
你可以像使用普通字典一样,用[]
来从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]