带有clean的Django验证不起作用

2024-10-04 07:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我的views.py

class AccountListView(ListView):
    context_object_name = 'accounts'
    model = models.Account

class AccountCreateView(CreateView):
    fields = ('foo', 'bar')
    model = models.Account

我的forms.py

class AccountForm(forms.ModelForm):
    foo = forms.ModelDecimalField()
    bar = forms.ModelDateField()

    def clean_foo(self):
        foo_passed = self.cleaned_data.get("foo")
        if foo_passed > 1000:
            raise forms.ValidationError("Sorry, Maximum is 1000.")
        return foo_passed

我的template.html

{{form.as_p}}

在我上面的代码中,我正在尝试验证输入,如果值大于1000将引发错误。但它不起作用,我想念的是


Tags: pyselfmodelobjectfoomodelscontextbar
1条回答
网友
1楼 · 发布于 2024-10-04 07:37:20

您需要告诉视图使用窗体类:

class AccountCreateView(CreateView):
    fields = ('foo', 'bar')
    model = models.Account
    form_class = AccountForm

相关问题 更多 >