2014-12-04 62 views
1

我有,我已经通过了形式背景下,医生详细视图:Django的上下文格式不渲染

class HospitalDoctorDetailView(DetailView): 
context = {} 
model = HospitalDoctor 
template_name = "hospital_doctor_detail.html" 
context_object_name = 'doctor' 

def get_context_data(self, **kwargs): 
    context = super(HospitalDoctorDetailView, self).get_context_data(**kwargs) 
    context['appointment_form'] = AppointmentForm1 
    return context 

而且我已经使用这个表单模板命名hospital_doctor_detail.html

<form action="/appointment/{{doctor.id}}/{{doctor.hospital.id}}/" method="post">{% csrf_token %} 
First Name:<br/> 
{{ form.first_name.errors }} 
{{ appointment_form.first_name }}<br/> 
Middle Nmae:<br/> 
{{ form.middle_name.errors }} 
{{ appointment_form.middle_name }}<br/> 
Last Name:<br/> 
{{ form.last_name.errors }} 
{{appointment_form.last_name}}<br/> 
Age:<br/> 
{{ form.age.errors }} 
{{ appointment_form.age }}<br/> 
Date:<br/> 
{{ form.appointment_date.errors }} 
{{ appointment_form.appointment_date }}<br/> 
<br/> 
<input type="submit" value="Take Appointment" style="background-color:#EFEFEF; border:1px solid #000;" /> 
</form> 

我的表单AppointmentForm1是一个模型表单。要提交我写了一个观点的一种形式:

def TakeAppointmentView(request, pk, hpk): 
doctor = HospitalDoctor.objects.get(pk=pk) 
hospital = Hospital.objects.get(pk=hpk) 
if request.method == "POST": 
    form = AppointmentForm1(request.POST) 
    if form.is_valid(): 
     app = DoctorAppointment() 
     app.user = request.user 
     app.doctor = doctor 
     app.hospital = hospital 
     app.first_name = form.cleaned_data['first_name'] 
     app.middle_name = form.cleaned_data['middle_name'] 
     app.last_name = form.cleaned_data['last_name'] 
     app.age = form.cleaned_data['age'] 
     app.appointment_date = form.cleaned_data['appointment_date'] 
     app.save() 
     messages.success(request, "Thank you for taking appointment") 
     return redirect("doctor_detail", pk) 
     #return redirect("/home/") 
    else: 
     return render_to_response("hospital_doctor_detail.html", {"appointment_form":form}, context_instance=RequestContext(request)) 
else: 
    form = AppointmentForm1() 
return render_to_response("hospital_doctor_detail.html", {"appointment_form":form}, context_instance=RequestContext(request)) 

如果表单是有效的预约成功迈出,但如果形式是无效的我想它重定向到同一个医生详细视图。

这里我得到一个错误,如果表单无效,它将重定向到医生详细视图与错误消息,但表单不显示?? 这里有什么错?

回答

2

您将表单退还给您的模板{"application_form": form}

您的模板不知道任何有关变量的任何信息,称为form

而不是使用:

{{ form.first_name.errors }} 

尝试使用您的每个错误消息如下:

{{ application_form.first_name.errors }} 
+0

谢谢我没有看见有说.. ..工作 – gamer 2014-12-04 07:09:09