【发布时间】:2010-12-28 10:22:45
【问题描述】:
我正在 Django 中构建一个博客(使用通用视图),并且我对基于日期的视图和列表详细信息视图使用相同的模板。我正在尝试设置分页,但我想使用 URL 模式而不是使用丑陋的 ?page=1 url 后缀。
问题出在实际的 html 模板中,我找不到方法来确定用于呈现页面的视图,因此虽然我可以访问所有分页内容,但我无法生成适当的 URL。
换句话说,如果视图是由我的 archive_month(request, month, year, page=0) 视图呈现的,我需要将下一页和上一页的 URL 构造为 /blog/dec/2009/PageX /,而不是博客索引,这意味着 URL 将是 /blog/pageX/。
【问题讨论】:
-
您可能认为 ?page=x 很“丑陋”,但我会说这是更好的做法。不同的页面不是不同的资源,而是同一资源的不同视图。因此它应该具有相同的 URL,并通过 GET 参数进行区分。
-
这实际上是一个很好的观点。如果您将其发布为答案,我会排除它。
标签: django django-templates django-views