Bel*_*dez 17 python django django-forms
我知道is_valid()在有界表格上检查是否输入了所有必需的数据.这不是我想要的.我想检查表单上是否填写了任何字段.
有任何想法吗?
阐述:
我想让用户选择不填写表格.但是,如果他们试图填写它(即:从一个字段中改变一个值,从它的初始值---通常为空值),我想验证它.
视图将是这样的:
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)
)
Run Code Online (Sandbox Code Playgroud)
我想要的是这form_is_blank()部分.
Bel*_*dez 25
我猜我必须回答我自己的问题.
显然,这是一个没有文档的Form功能:has_changed()
>>> f = MyForm({})
>>> f.has_changed()
False
>>> 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
Run Code Online (Sandbox Code Playgroud)
所以这可以很好地替代form_is_blank()(当然还原).
| 归档时间: |
|
| 查看次数: |
10710 次 |
| 最近记录: |