我正在尝试使我的分页网址来自 django有点 SEO 友好。而不是 ?page=current_page某种形式的东西 /page/current_page .
所以在我的 app/urls.py我做了以下事情:
url(r'^(?P<slug>[a-zA-Z0-9-_]+)/page/(?P<page>[0-9])+$', GalleryDetail.as_view(), name='galleries-view-gallery-paginator')
在我的 app/templates/app/my_view.html 上:
{% if page_obj.has_next %}
<a href="{% url 'galleries-view-gallery-paginator' page_obj.next_page_number %}">next</a>
{% endif %}
但我得到一个 NoReverseMatch 错误。
其他错误信息:Reverse for 'galleries-view-gallery-paginator' with arguments '(2,)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['gallery/(?P<slug>[a-zA-Z0-9-_]+)/page/(?P<page>[0-9])+$']
好吧。我怎样才能获得像/page/current_page这样的网址使用 Django ?
请您参考如下方法:
URL galleries-view-gallery-paginator 要求您传递 2 个参数:slug 和 page。由于您只传递页码,因此还需要 slug:
{% url 'galleries-view-gallery-paginator' gallery.slug page_obj.next_page_number %}
