Django 查看错误未返回HttpResponse对象

Django 查看错误未返回HttpResponse对象,django,django-models,django-views,Django,Django Models,Django Views,我正在django中为一个视图工作,我目前正在处理一个模型表单:我检查学生是否已经创建,如果已经创建,我将只更新该学生的信息,如果需要,我会将条目添加到某个事件中;如果不是,我创建一个学生并将条目添加到事件中 如果我创建了一个新的学生(除了第一次尝试之外),该网页可以正常工作,但是当我尝试获取已经存在的学生时,该页面会给我一个错误,即没有返回HttpResponse对象。你能帮我吗 def reserve(request, event_id): event = get_object_or_4

我正在django中为一个视图工作,我目前正在处理一个模型表单:我检查学生是否已经创建,如果已经创建,我将只更新该学生的信息,如果需要,我会将条目添加到某个事件中;如果不是,我创建一个学生并将条目添加到事件中

如果我创建了一个新的学生(除了第一次尝试之外),该网页可以正常工作,但是当我尝试获取已经存在的学生时,该页面会给我一个错误,即没有返回HttpResponse对象。你能帮我吗

def reserve(request, event_id):
  event = get_object_or_404(Event, pk=event_id)

  if request.method == 'POST':
    form = StudentForm(request.POST)

    if form.is_valid():
      try:
        student = Student.objects.filter(UID=form.cleaned_data['UID'])
        #student.first_name=form.cleaned_data['first_name']
        #student.last_name=form.cleaned_data['last_name']
        msg = 'Student found, added to reserve for this event!'
      except Student.DoesNotExist:
        student = Student.objects.create(UID=form.cleaned_data['UID'], first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'])
        msg = 'Contact created, reserve successful!'

      obj, created = Reservetoevent.objects.get_or_create(m_event=event, m_student = student)
    return render(request, 'events/reserve.html', {
      'form': form,
      'event': event,
      'msg': msg,
    }) 
  else:
    form = StudentForm()


    return render(request, 'events/reserve.html', {
      'form': form,
      'event': event,
    }) 
您的表单.is_有效:is false。因为您在那里的最后一次返回是在else中,意思是request.method==GET,所以没有响应。 将您的最后一次返程向左移动。这应该可以解决问题。但它无法解决表单无效的原因

def reserve(request, event_id):
  event = get_object_or_404(Event, pk=event_id)

  if request.method == 'POST':
    form = StudentForm(request.POST)

    if form.is_valid():
      try:
        student = Student.objects.filter(UID=form.cleaned_data['UID'])
        #student.first_name=form.cleaned_data['first_name']
        #student.last_name=form.cleaned_data['last_name']
        msg = 'Student found, added to reserve for this event!'
      except Student.DoesNotExist:
        student = Student.objects.create(UID=form.cleaned_data['UID'], first_name=form.cleaned_data['first_name'], last_name=form.cleaned_data['last_name'])
        msg = 'Contact created, reserve successful!'

      obj, created = Reservetoevent.objects.get_or_create(m_event=event, m_student = student)
    return render(request, 'events/reserve.html', {
      'form': form,
      'event': event,
      'msg': msg,
    }) 
  else:
    form = StudentForm()


return render(request, 'events/reserve.html', {
  'form': form,
  'event': event,
}) 

你是通过ajax发布还是通过普通的整版发布?