我希望我的网址格式如下图所示:
host:8000/archive/2/
我在视图中定义page_kwarg
,但仍然收到:host:8000/en/2
代码表格主 url.py 文件:
url(_(r'^archive'), include('events.urls_archive', namespace='archive')),
启动edit1 并将主站点链接到我的应用程序:
<a href="{% url 'archive:list' %}" title="{% trans 'Archive' %}">
{% trans 'Archive' %}
</a>
结束edit1
启动edit2
这是我的应用
urlpatterns = [
url('^/(?P<page>\d+)/$', ArchiveListView.as_view(), name="list"),
url('^/(?P<slug>[-\w]+)/(?P<pk>\d+)$', ArchiveDetailView.as_view(), name="detail"),
]
结束edit2
我的观点代码:
class ArchiveListView(ListView):
model = Booking
queryset = Booking.objects.filter(period__type='archive').order_by('-date_start')
paginate_by = 80
page_kwarg = 'page'
这是我的模板代码:
{% if is_paginated %}
{% if page_obj.has_previous %}
<a href="/{{ page_obj.previous_page_number }}" class="arrow left"><h4>Previous</h4></a>
{% endif %}
<span class="arrow header"><h4>Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}</h4></span>
{% if page_obj.has_next %}
<a href="/{{ page_obj.next_page_number }}" class="arrow right"><h4>Next</h4></a>
{% endif %}
{% endif %}
请提供任何帮助。 感谢。
答案 0 :(得分:0)
page_kwarg
设置传递页码的密钥。它不会影响页面中的使用方式。出于某种原因,您直接将其输出为/{{ page_obj.previous_page_number }}
,后者仅解析为/2
。您应该以与传入时相同的格式输出它:
?page={{ page_obj.previous_page_number}}
修改强>
如果您希望将页码指定为路径参数的一部分,则应使用url
标记,与任何其他URL一样:
{% url 'archive' page=page_obj.previous_page_number %}