2014-12-04 89 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