首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django,日历

Django,日历
EN

Stack Overflow用户
提问于 2009-08-16 18:05:48
回答 3查看 11.1K关注 0票数 1

我需要使用日历。我正在开发一个房屋租赁的网站,这是我自己的第一个网络项目,所以,想法是用户选择一个initial datefinish date,在同一个月或任何月份(例如从1月到4月),并在住房可用性的视图(模板)中。

我想要显示所有的月份(12)和哪里是忙碌的房子,我将显示一些不同的颜色的日子。

我正在搜索和测试Django日历,但如果有人知道它,请帮我:)

谢谢:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-17 00:38:00

下面是重写HTMLCalendar以显示查询集的示例:

代码语言:javascript
复制
class QuerysetCalendar(HTMLCalendar):

    def __init__(self, queryset, field):
        self.field = field
        super(QuerysetCalendar, self).__init__()
        self.queryset_by_date = self.group_by_day(queryset)

    def formatday(self, day, weekday):
        if day != 0:
            cssclass = self.cssclasses[weekday]
            if date.today() == date(self.year, self.month, day):
                cssclass += ' today'
            if day in self.queryset_by_date:
                cssclass += ' filled'
                body = ['<ul>']

                for item in self.queryset_by_date[day]:
                    body.append('<li>')
                    body.append('<a href="%s">' % item.get_absolute_url())
                    body.append(esc(item))
                    body.append('</a></li>')
                body.append('</ul>')
                return self.day_cell(cssclass, '%d %s' % (day, ''.join(body)))
            return self.day_cell(cssclass, day)
        return self.day_cell('noday', ' ')


    def formatmonth(self, year, month):
        self.year, self.month = year, month
        return super(QuerysetCalendar, self).formatmonth(year, month)

    def group_by_day(self, queryset):
        field = lambda item: getattr(item, self.field).day
        return dict(
            [(day, list(items)) for day, items in groupby(queryset, field)]
        )

    def day_cell(self, cssclass, body):
        return '<td class="%s">%s</td>' % (cssclass, body)
票数 2
EN

Stack Overflow用户

发布于 2009-08-16 21:50:03

你看过Django ScheduleDjango SwingTime了吗?

票数 3
EN

Stack Overflow用户

发布于 2009-08-16 21:52:03

看看这里的一些与日历相关的示例,看看它们是否适用于您:

  • http://www.djangosnippets.org/tags/calendar/

此外,您可以考虑使用Python的HTMLCalendar,如下所述:

  • Creating a Flexible Monthly Calendar in Django
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1284923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档