Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » HtmlCalendar, formatmonth(year, month) и форма выбора месяца и года для календаря. [RSS Feed]

#1 Дек. 15, 2015 13:05:46

ciklone
Зарегистрирован: 2015-02-20
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

HtmlCalendar, formatmonth(year, month) и форма выбора месяца и года для календаря.

Решил на страницу добавить календарь, через HttpResponse вывод получился.
Решил добавить форму выбора месяца и года для календаря - получилось! А теперь, когда пытаюсь объединить это вместе, календарь превращается в

<table border="0" cellpadding="0" cellspacing="0" class="month">
<tr><th colspan="7" class="month">December 2015</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr>
и т.д. Какой функцией передачи ответа от сервера нужно пользоваться?
def left(request, year = None, month = None):
    if request.POST:
        form = kalendar(request.POST)
        if form.is_valid():
            dd = form.cleaned_data
            month = int(dd['month'])
            year  = dd['year']
            cal   = calendar.HTMLCalendar(0)
            calend = cal.formatmonth(year, month)
            print '+++', calend, cal
            return HttpResponse('html/left.html', calend) 
            #return render_to_response('html/left.html',locals())
            #return render(request, 'html/left.html', {'form': form},)
    else:
        form = kalendar()
    return render(request, 'html/left.html', {'form': form})
    if year == None and month == None:	
        now_date=datetime.date.today()
        year= now_date.year
        month = now_date.month
        cal   = calendar.HTMLCalendar(0)
        calend = cal.formatmonth(year, month)
        print '==', year, month, calend
        return render_to_response('html/left.html',locals())

Принцип такой: если в форме ничего не выбрано, то календарь на сегодняшнюю дату.

Давайте упрощу вопрос: как передать в шаблон словарь {'form': form} и
calend одновременно (в одном ответе)

           cal   = calendar.HTMLCalendar(0)
            calend = cal.formatmonth(year, month)

Отредактировано ciklone (Дек. 16, 2015 14:28:48)

Офлайн

  • Начало
  • » Django
  • » HtmlCalendar, formatmonth(year, month) и форма выбора месяца и года для календаря.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version