Могу ли я перебирать объекты из моей модели Django через модифицированный HTMLCalendar ()? - PullRequest
0 голосов
/ 02 сентября 2011

Этот код будет извлекать только один объект из базы данных, а не повторять их по всему календарю на соответствующую дату.

cal.py

from www.wednesday.models import Event
import calendar

class EventCal(calendar.HTMLCalendar):         
    def formatday(self, day, weekday):     
        if day == 0:
            return '<td class="noday">&nbsp;</td>' # Day outside month
        if day == int(event.dateDay.day):
            return '<td class="%s">%d</p><a href=\"%s\" target=\"_blank\">%s</a></td>' % (self.cssclasses[weekday], day, event.linkURL, event.restaurant)
        else:
            return '<td class="%s">%d</td>' % (self.cssclasses[weekday], day)

events = Event.objects.all()
for event in events:
    class rendCal():
        c = EventCal(calendar.SUNDAY)

views.py

from django.shortcuts import render_to_response
from www.wednesday.models import Event
from www.wednesday.cal import *
import datetime as dt

Months = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

now = dt.datetime.now()
mon = now.month

def calend(request):
    cal = rendCal.c.formatmonth(now.year, now.month)
    events = Event.objects.all()
    return render_to_response('cal.html', {'calendar': cal,
                                           'title': 'Win-Win Wednesday Calendar for %s' % Months[int(mon)]})

cal.html

# ...
<div id='calendar'>

<div>
</div>
{% block main %}
{{ calendar|safe }}
{% endblock %}
    </div>
</div>

1 Ответ

0 голосов
/ 02 сентября 2011

Большая часть вашего вопроса мутная.

И это печать тега django {{event.restaurant}}, а не данных из модели.

Это потому, что formatday() возвращает строку "{{ event.restaurant }}".

Рендеринг шаблона вставляет эту строку в шаблон.

Рендеринг шаблона не выглядитв данные, которые он вставляет, чтобы увидеть, являются ли данные более шаблонным кодом.Он просто вставляет данные в шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...