发布于2019-12-24 05:39 阅读(1301) 评论(0) 点赞(22) 收藏(3)
我正在编写Django网站,并正在为表单编写自己的验证:
class CreateJobOpportunityForm(forms.Form):
subject = forms.CharField(max_length=30)
start_date = forms.DateField(widget=SelectDateWidget)
end_date = forms.DateField(widget=SelectDateWidget)
def clean_start_date(self):
start_date = self.cleaned_data['start_date']
end_date = self.cleaned_data['end_date']
if start_date > end_date :
raise forms.ValidationError("Start date should be before end date.")
return start_date
但是当start_date小于end_date时,它说:
KeyError at /create_job_opportunity
'end_date'
为什么不识别'end_date'
钥匙?
由于一个字段取决于另一字段,因此最好clean
使用表格的方法而不是单个clean_field
方法进行清洗。
def clean(self):
cleaned_data = super(CreateJobOpportunityForm, self).clean()
end_date = cleaned_data['end_date']
start_date = cleaned_data['start_date']
# do your cleaning here
return cleaned_data
否则,您必须确保end_date
在清理场地之前start_date
。
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/183105/34e8648c1bda1a505794/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!