【发布时间】:2014-11-27 12:59:51
【问题描述】:
我有一个视图,我可以在其中获取有限制的约会列表..
def HospitalAppointmentView(request, pk, username, hdpk):
todays_appointments = DoctorAppointment.objects.filter(hospital__id=pk, doctor__id=hdpk, appointment_date=today).order_by("-appointment_date")[:5]
return render_to_response('doctor_appointment_list.html', {"todays_appointments": todays_appointments}, context_instance=RequestContext(request))
在我的模板中:
{% for appointment in todays_appointments %}
<h3>{{appointment.doctor.username}}<h3>
<tr>
<td>{{appointment.appointment_date}}</td>
<td>{{appointment.first_name}} {{appointment.middle_name}} {{appointment.last_name}}</td>
<td>{{appointment.user}}</td></tr>
<a href="{% url "all_appointments" appointment.hospital.id appointment.doctor.id%}">
See All</a>
{% endfor %}
它正确显示了 5 个约会,除了“查看全部”重复了 5 次,我想将医生的用户名作为标题,它也被打印 5 次。
当我点击“查看全部”时,我想重定向到可以看到所有约会的页面。喜欢:
def HospitalAppointmentView(request, pk, username, hdpk):
todays_appointments = DoctorAppointment.objects.filter(hospital__id=pk, doctor__id=hdpk, appointment_date=today).order_by("-appointment_date")
return render_to_response('all_appointment.html', {"todays_appointments": todays_appointments}, context_instance=RequestContext(request))
如果我在 for 循环外写“查看全部”,我将无法访问 hospital.id 和医生.id,而在循环内,我会得到 5 次“查看全部”,{{appointment.doctor.username} 也是如此}。
如何在不打印 5 次的情况下进行重定向,并且 URL 中需要的所有信息和 {{appointment.doctor.username}} 都打印一次?
【问题讨论】:
-
只需将HospitalAppointmentView中pk和hdpk的值传给模板即可。那么你将拥有循环之外的值。
标签: python django loops templates