python - 如何对 WeekArchiveView 进行分页?

标签 python django django-1.3 django-class-based-views django-pagination

继续my struggleWeekArchiveView ,如何按周对其进行分页?

我想要的是:

  • 了解下一周/上一周是否有空;
  • 如果有,请在模板中提供链接。

我希望它也能跳过空周。

The source显示 get_next_day/get_prev_dayget_next_month/get_prev_month 可用,但数周内没有。

最佳答案

这绝对很有趣。果然MonthMixin包含get_next_month/get_prev_month方法,DayMixin包含get_next_day/get_prev_day 方法。但是,YearMixin 和 WeekMixin 在它们的定义中都没有功能等价物。似乎是 Django 团队的疏忽。

我认为你最好的选择是子类化 WeekArchiveView 或 BaseWeekArchiveView(如果你最终可能想改变响应格式并且不想重新实现你的方法)并添加你自己的 get_next_week/get_prev_week 方法。然后让您的 View 继承自您的子类。对 DayMixin 的方法进行简单修改就足够了。

def get_next_week(self, date):
    """
    Get the next valid week.
    """
    next = date + datetime.timedelta(days=7)
    return _get_next_prev_month(self, next, is_previous=False, use_first_day=False)

def get_previous_week(self, date):
    """
    Get the previous valid week.
    """
    prev = date - datetime.timedelta(days=7)
    return _get_next_prev_month(self, prev, is_previous=True, use_first_day=False)

关于python - 如何对 WeekArchiveView 进行分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665013/

相关文章:

python - 使用 Python 的 Fabric 库对 "execute"进行嵌套调用

python - 不在 python 中的正确包中时不会捕获异常

python - 属性错误: 'NoneType' object has no attribute '_columns'

python - 我可以在aws redshift python udf函数中使用select查询吗

python - Wagtail 'View live' 按钮在使用 id 作为 slug 时创建页面后提供错误的 url

django - 将解码后的临时图像保存到 Django Imagefield

python - 在 Django 中使用 manage.py 从 CLI 清除数据库的最简单方法是什么?

django - default_token_generator 如何存储 token ?

python -/myapp/数据库错误

django-1.3 - Django 1.3 : MEDIA_URL vs. STATIC_URL