[英]Django format database entry in template
我正在嘗試為醫生顯示辦公時間,並且希望將同一天的時間安排在一條線上,而不是將它們放在不同的線路上。
例如,這是當前在模板中顯示的方式
Sunday: 9 am - noon
Sunday: 1pm - 9pm
Monday: 8:30am - 11am
我希望它被顯示
Sunday: 9am - noon , 1pm - 9pm
Monday: 8:30am - 11am
我怎樣才能做到這一點?
WEEKDAYS = [
(1, ("Sunday")),
(2, ("Monday")),
(3, ("Tuesday")),
(4, ("Wednesday")),
(5, ("Thursday")),
(6, ("Friday")),
(7, ("Saturday")),
]
class OpeningHour(models.Model):
doctor = models.ForeignKey(Doctor)
weekday = models.IntegerField(choices=WEEKDAYS)
from_hour = models.TimeField(unique=False)
to_hour = models.TimeField(unique=False)
class Meta:
ordering = ('weekday', 'from_hour')
def __unicode__(self):
return u'%s: %s: %s - %s' % (self.doctor.name, self.get_weekday_display(),
self.from_hour, self.to_hour)
{% for a in Hours %}
<p>{{a.get_weekday_display}}: {{a.from_hour}} - {{a.to_hour}}</p>
{% endfor %}
hours = OpeningHour.objects.filter(doctor_id=id)
假設模板中的hours
代表OpeningHour對象的有序列表(按工作日排序),則可以使用ifchanged模板標記。 就像是:
{% for a in hours %}
{% ifchanged a.weekday %}
<p> {{a.get_weekday_display}}:
{% endifchanged %}
{{a.from_hour}} - {{a.to_hour}},
{% ifchanged a.weekday %}
</p>
{% endifchanged %}
{% endfor %}
(可能應該考慮到一些極限條件,但這是一個主意)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.