我最近在网站注册表上遇到了一些假注册问题。我已经决定了解决这个问题的最佳方法是创建一个'隐形'蜜罐表单字段。
我在models.py和forms.py中创建了这个新的'假'表单字段,我在我的模板中渲染了该字段,并且我在CSS中使用'display:none'隐藏了真实用户的字段。我现在想要做的只是在没有填写“假”字段的情况下将表单保存到数据库中。
例如,我想做这样的事情:
if form.is_valid() and fakeformfield.is_null():
instance = form.save(commit=False)
instance.save()
return redirect('thankyou')
如果您需要查看我的代码,我会更新问题。
非常感谢任何帮助!
答案 0 :(得分:0)
if form.is_valid():
fake_field_value = form.cleaned_data.get('fakeformfield')
if not fake_field_value:
instance = form.save(commit=False)
instance.save()
return redirect('thankyou')
这可以满足您的需求。但我不确定它怎么能阻止虚假提交。如果有人试图使用爬虫做这件事,他可以简单地看到这个字段是隐藏的并且会避免填充该值。考虑使用验证码。