gpt4 book ai didi

python - Django:如何检查用户是否将所有字段留空(或初始值)?

转载 作者:IT老高 更新时间:2023-10-28 21:09:13 26 4
gpt4 key购买 nike

我知道 is_valid() 在有界表单上检查是否输入了所有必需的数据。这不是我想要的。我想检查表单上是否填写了任何字段。

有什么想法吗?

详细说明:

我想让用户选择根本不填写表格。但是,如果他们尝试填充它(即:将字段中的值从其初始值更改——通常为空值),我想验证它。

View 会是这样的:

def get_opinion(request):

if request.method == 'POST':
f = OpinionForm(request.POST)
if form_is_blank(f):
return HttpResponseRedirect(reverse('thank_you_anyway'))
elif f.is_valid():
#Process here
return HttpResponseRedirect(reverse('thanks_for_participating'))
else:
initial = {'weekday': date.today().strftime('%A')}
f = OpinionForm(initial=initial)

return render_to_response(
'get_opinion.html',
{'form': f,},
RequestContext(request)
)

我想要的是 form_is_blank() 部分。

最佳答案

我想我必须回答我自己的问题。

显然,有一个未记录的 Form 函数:has_changed()

>>> f = MyForm({})
>>> f.has_changed()
False
>>> f = MyForm({'name': 'test'})
>>> f.has_changed()
True
>>> f = MyForm({'name': 'test'}, initial={'name': 'test'})
>>> f.has_changed()
False

所以这可以很好地替代 form_is_blank()(当然是还原的)。

关于python - Django:如何检查用户是否将所有字段留空(或初始值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4572859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com