正在检查Django 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

我通过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, '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