如何触发is_valid()的反面?这就是我到目前为止所做的:
def post(self, request):
user_form = self.form_class(request.POST)
second_form = self.second_form_class(request.POST)
if user_form.is_valid() and second_form.is_valid():
user = user_form.save(commit=False)
invite = second_form.save(commit=False)
username = user_form.cleaned_data['username']
password = user_form.cleaned_data['password']
email = user_form.cleaned_data['email']
code = second_form.cleaned_data['code']
user.set_password(password)
user.is_staff = True
user.save()
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
login(request, user)
return redirect('main:welcome')
我想检查这是否属实,但我不知道如何在我的通用视图中实现它:
the_invite = Invites.objects.filter(code=code)
if the_invite.exists():
the_invite.delete()
else:
second_form.add_error()
我想简单地输出如下错误消息,例如:“您输错了代码”:enter link description here
答案 0 :(得分:0)
当表单无效时,您需要将其发送到模板并呈现:
{{ form.errors }}
答案 1 :(得分:0)
"我想简单地输出如下错误信息:"您输入了错误的代码""
好吧,你可以像这样添加错误:
form._errors = ErrorDict()
errors = form._errors.setdefault('[name of the field that failed verification]', ErrorList())
errors.append('[Your error message]')
然后将此表单返回给用户。