正在检查Django request.POST中的内容
我通过request.POST接受数据,如下所示:正在检查Django request.POST中的内容,django,forms,data-processing,Django,Forms,Data Processing,我通过request.POST接受数据,如下所示: if request.method == 'POST': l = Location() data = l.getGeoPoints(request.POST) appid = settings.GOOGLE_API_KEY return render_to_response('map.html', {'data': data, 'appi
if request.method == 'POST':
l = Location()
data = l.getGeoPoints(request.POST)
appid = settings.GOOGLE_API_KEY
return render_to_response('map.html',
{'data': data, 'appid': appid},
context_instance=RequestContext(request))
它从一组名为form-0-location的文本输入框接收数据,一直到form-5-location
我要添加的是一个检查,以确保request.POST在这些输入字段中包含数据。我想我的问题是,我不知道用Django来描述这一点的正确术语
我知道如何在PHP中做到这一点:在$\u POST中查找至少一个字段不为空,但我似乎无法通过搜索google找到正确的答案
如果在这些输入字段中找不到任何数据,我希望将用户重定向回主页。对于Django请求对象,POST数据像字典一样存储,因此如果您知道字典中的键,可以搜索它们并检查它们是否为空。查看以下两个链接了解更多详细信息: 例如,当您拥有请求对象,并且您知道有一个名为“form-0-location”的key/var时,您可以执行以下操作:
if request.POST.get('form-0-location'):
print 'field is not None >> %s' % request.POST.get('form-0-location'')
你有没有想过使用??您可以在定义表单时将字段标记为“必需”,Django将在提交时负责验证所述字段中是否包含数据。他们还做其他类型的验证。我赞成使用Django表单的建议。在使用Django时,为什么不利用Django表单呢 设计一个与当前页面上的字段相匹配的快速表单。使用
request.POST
数据加载表单,并使用form.is\u valid()
确定表单是否有效
if request.method == 'POST' and request.POST:
# Process request
如果请求不包含任何数据,request.POST将为false。
request.POST
返回一种QueryDict类型(扩展字典超类)
这意味着您可以遍历此字典中的键(POST中的所有参数),当看到一个为空时返回false
(对于输入请求。发布):
你也可以试试类似的东西
if len(request.POST['data'])<1:
do something if empty
else:
do something if has data
if len(request.POST['data'])这是个好建议!也许可以在djangoproject.com上查看模型表单注意:falsy,而不是“False”。与空的dict或list一样,它的计算结果为non-True。OP希望在所有字段都为空而不是只有一个字段时返回False。另外,请更好地格式化您的答案-for
的语句应该在代码内,false和true应该是false
和true
,并且如果键有无效代码…
是伪代码。确保对英语句子进行注释,并提供与之等效的代码,如果您不知道这些键,如何获得它们?绕什么圈?
if len(request.POST['data'])<1:
do something if empty
else:
do something if has data