如何觸發is_valid()的相反情況?這是我迄今所做的那樣:如何在Django中輸出modelform錯誤
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
是的,但只要我在second_form中輸入一個值,例如它即使對象不在數據庫中也是True。我怎麼能檢查一下呢? –
您需要將表單傳遞給模板並呈現錯誤。你的'request.POST'來自哪種形式? – Gocht