python-3.x - 视图 admission.views.UpdateEducation 没有返回 HttpResponse 对象。它返回 None 而不是
问题描述
这有什么问题......
视图.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)
我有一个名为ApplyEducation的模型,我正在使用EducationForm。上面列出的此视图功能旨在存储教育详细信息,但出现错误。这里缺少什么,请看一下....
解决方案
Django 视图应该返回一个 HTTPResponse 对象的实例。else
目前,如果表单无效(第 17 行的块),您的视图不会返回任何内容。我认为您需要像这样取消缩进您的退货声明:
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
推荐阅读
- django - 保存后如何对文章执行解析和编辑功能?
- webusb - WebUSB 无法在某些 android 设备上声明设备
- javascript - HTML 音频:访问 MP3 章节标记
- graphql - 从 Prisma 中的多对多表中获取元信息
- python - 使用python在表中除和很多值
- python - Python docx 替换段落中的字符串,同时用句点保持样式
- python - Jupyter Notebook 仍在运行或死机
- css - 固定颜色背景
- javascript - 如何将命名空间的 JS 代码迁移到 CommonJS 模块?
- jenkins - Jenkins - 全局禁用 Cron/触发器