这有什么问题....
View.Py
def UpdateEducation(request, id=None):
context = {}
user_obj = request.user
if not user_obj.is_authenticated:
return redirect('login')
user_id = Applicant.objects.filter(app_id = user_obj.app_id).first()
applicant = ProfileInfo.objects.filter(user=user_id).first()
if request.POST:
form = EducationForm(request.POST, instance=applicant)
if form.is_valid():
obj = form.save(commit=False)
obj.applicant_info = applicant
obj.save()
return redirect('profile')
else:
context['education_form'] = form
else:
try:
user_info = ApplicantEducation.objects.filter(applicant_info = applicant).get()
form = EducationForm(
initial={
'institute_name': user_info.institute_name,
'marks_percentage' : user_info.marks_percentage,
'affilation_with' : user_info .affilation_with,
'date_completion':user_info.date_completion,
'degree_details' : user_info.degree_details,
}
)
context['education_form']= form
except:
form = EducationForm()
context['education_form']= form
return render(request, 'admission/signup.html', context)
我有一个名为 ApplicantEducation 的模型,我正在使用 EducationForm。上面列出的这个视图函数旨在存储教育详细信息,但它出现了错误。这里缺少什么,请看....
答案 0 :(得分:0)
Django 视图应该返回 HTTPResponse 对象的一个实例。当前,如果表单无效,您的视图不会返回任何内容(第 17 行的 else
块)。我认为您需要像这样取消缩进您的 return 语句:
def UpdateEducation(request, id=None):
# ...
if request.POST:
form = EducationForm(request.POST, instance=applicant)
if form.is_valid():
obj = form.save(commit=False)
obj.applicant_info = applicant
obj.save()
return redirect('profile')
else:
context['education_form'] = form
else:
try:
# ...
except:
form = EducationForm()
context['education_form']= form
return render(request, 'admission/signup.html', context) # <- unindented