验证基于 Class 的视图的表单

Validating Form for Class-based view

我希望你们能告诉我如何在我的 forms.py 中对单个字段使用验证方法。我的视图是 generic.FormView,我的表单是 forms.Form。这是我的观点:

class ClassSetupView(OrganisorAndLoginRequiredMixin, generic.FormView):
    template_name = "leads/class_setup.html"
    form_class = ClassSetupForm

    def get_success_url(self):
        return reverse("class-setup-sucess-page")
    def form_valid(self, form):
        # Some Other Code
        return super(ClassSetupView, self).form_valid(form)

这是我的表格:

class ClassSetupForm(forms.Form):
    date = forms.DateField(help_text="Year-01-01",)
    
    clean_date(self):
        date = self.cleaned_data['date']

        if date < datetime.date.today():
            raise ValidationError(_('Invalid date - renewal in past'))

        return date

我希望你们能告诉我是否可以使用表单的 clean_date(self) 作为验证字段 date 的方式。我在网上看到了几个例子,但我不确定 clean_date(self) 是否适用于我的情况。谢谢。

可以使用干净的方法进行验证。查看官方 django 文档:https://docs.djangoproject.com/en/3.2/ref/forms/validation/#cleaning-a-specific-field-attribute