【发布时间】:2020-03-13 16:35:44
【问题描述】:
我有一个用于呈现表单的 Wagtail Page 模型。我已经覆盖了get_context 和serve 方法以将表单作为页面上下文传递,然后在收到POST 请求时对其进行验证:
class RegistrationPage(Page):
...
def get_context(self, request, *args, **kwargs):
# Avoid circular dependency
from registration.forms import RegistrationForm
context = super().get_context(request)
context["form"] = RegistrationForm
return context
def serve(self, request, *args, **kwargs):
# Avoid circular dependency
from registration.forms import RegistrationForm
if request.method == "POST":
registration_form = RegistrationForm(request.POST)
if registration_form.is_valid():
registration = registration_form.save()
return redirect("/")
else:
# How do I pass the form with validation errors to the page?
# Note: I already have template logic to render the form errors
# I just need to pass the invalidated form to the template
else:
return super().serve(request)
问题:
当表单验证失败时,如何将表单传递回模板以便用户可以看到验证错误?
【问题讨论】:
标签: python django django-forms django-views wagtail