我正在尝试使django的分页网址更加友好。代替?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个参数:slugpage。由于您仅传递页码,因此还需要slug:

{% url 'galleries-view-gallery-paginator' gallery.slug page_obj.next_page_number %}

关于python - Django:使分页网址SEO友好,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37371307/

10-13 01:57