我想在 (views.py) 中 运行 我的 else 语句但是当服务器是 运行 它会自动转到 if 语句吗?
I want to run my else statement in (views.py) but when server is run it automatically go to the if statement?
#views.py
class 添加问题(查看):
def post(self, request):
forms = QuestionForm(request.POST)
if forms.is_valid:
forms.save()
print("If statement")
return redirect(reverse('home'))
else:
print("else statement")
return render(request,'file/addQuestion.html')
def get(self, request):
forms = QuestionForm()
context = {'forms': forms}
return render(request,'file/addQuestion.html',context)
#forms.py
从 django.forms 导入 ModelForm
from .models import 问题
来自 django.core.exceptions 导入 ValidationError
class 问题表(模型表):
class Meta:
model = Question
fields = "__all__"
def clean_answer(self):
answer = self.cleaned_data['answer']
option1 = self.cleaned_data['option1']
option2 = self.cleaned_data['option2']
option3 = self.cleaned_data['option3']
option4 = self.cleaned_data['option4']
if answer == option1 or answer == option2 or answer == option3 or answer == option4:
return answer
else:
raise ValidationError("Select an answer from the options.")
使用forms.is_valid():
代替forms.is_valid:
def post(self, request):
forms = QuestionForm(request.POST)
if forms.is_valid():
forms.save()
print("If statement")
return redirect(reverse('home'))
else:
print("else statement")
return render(request,'file/addQuestion.html')
#views.py class 添加问题(查看):
def post(self, request):
forms = QuestionForm(request.POST)
if forms.is_valid:
forms.save()
print("If statement")
return redirect(reverse('home'))
else:
print("else statement")
return render(request,'file/addQuestion.html')
def get(self, request):
forms = QuestionForm()
context = {'forms': forms}
return render(request,'file/addQuestion.html',context)
#forms.py 从 django.forms 导入 ModelForm from .models import 问题 来自 django.core.exceptions 导入 ValidationError
class 问题表(模型表):
class Meta:
model = Question
fields = "__all__"
def clean_answer(self):
answer = self.cleaned_data['answer']
option1 = self.cleaned_data['option1']
option2 = self.cleaned_data['option2']
option3 = self.cleaned_data['option3']
option4 = self.cleaned_data['option4']
if answer == option1 or answer == option2 or answer == option3 or answer == option4:
return answer
else:
raise ValidationError("Select an answer from the options.")
使用forms.is_valid():
代替forms.is_valid:
def post(self, request):
forms = QuestionForm(request.POST)
if forms.is_valid():
forms.save()
print("If statement")
return redirect(reverse('home'))
else:
print("else statement")
return render(request,'file/addQuestion.html')