我正在利用这些内置Django表单,我遇到了一个小问题。
AdminPasswordChangeForm
类
例如,UserCreationForm生成几个验证错误,我可以使用标记(如{{ form.errors }} )或甚至与特定字段(如{{ form.username.errors }} )相关的标记在模板中显示这些错误。
我知道如何自定义这些错误消息的样式,但如何自定义文本?我只需检查条件语句(如{% if form.password.errors %} )是否存在错误,并将我自己的自定义文本放在该块中。然而,这使我对所引发的错误类型视而不见。
例如,我希望能够识别触发的错误是duplicate_username还是password_mismatch,这样我就可以在模板中写入自己的错误。
任何帮助都将不胜感激!
发布于 2012-06-21 01:48:43
一般来说,您可以定制如下所示的清洁方法:
class EventDetailsForm(form.ModelForm):
class Meta:
model = Event
fields = ('name',)
layout = (
Fieldset('',
'name',),
)
def clean_name(self):
event_name = self.cleaned_data['name']
if Event.objects.filter(name=event_name, status='Live').\
exclude(id=self.instance.id).exists():
raise forms.ValidationError('This Name is already in use')
else:
return event_name因此,要重用django的表单,只需将其子类化,添加额外的验证逻辑并在视图函数中调用该表单。
https://stackoverflow.com/questions/11129663
复制相似问题