django 你如何将验证错误从 views.py 传递到 forms.py

django how do you pass validation errors from views.py to forms.py

如何 raise/pass 从 views.py 到 forms.py 的验证错误?

我应该怎么做:

e = sub_form.cleaned_data['code']           
try:
    cde = sample_table.objects.get(code=e)
    de.acts = 'yes'
    cde.save()
except:
    raise sub_form.ValidationError("invalid code")

这是我的表格:

class confirmform(ModelForm):

    code = forms.CharField( max_length=15, label = ("Your Activation Code"))

    class Meta:
        model = sample_table
        fields = ('code',)

我知道有一种 clean/proper 方法可以做到这一点,但我不知道该怎么做,这段代码引发了:

*object has no attribute 'ValidationError'*

任何建议都将受到欢迎和赞赏。

使用这段代码

from django import forms

raise forms.ValidationError("Invalid code")

更多信息在这里:

https://docs.djangoproject.com/en/1.8/ref/forms/validation/#raising-validationerror