Я получил это в своих urlpatterns url(r'^(page/(?P<page>\d+)/)?$', 'index', name = 'index_path')
и вот мой файл views.py
def index(request, page=1):
posts = Post.objects.filter(published = True)
paginated_posts = Paginator(posts, 20)
try:
target_page = paginated_posts.page(page)
except EmptyPage:
return redirect(reverse('index_path'))
response_dict = {
'posts': target_page.object_list,
'page': target_page,
}
return render(request, 'posts/index.html', response_dict)`
Я использую это для простой нумерации страниц, если пользователь не вводит ничего, например, в блоге / блоге/ 'верните ему / ей первую страницу, иначе верните ему / ей страницу, которую он / она хочет.
Работает.Но есть проблема, когда я хочу использовать функцию reverse ().
Когда я набираю в интерактивной оболочке:
reverse("index_path")
Я получил:
'/blog/'
НоЯ делаю это:
reverse("index_path", args=(1, ))
Я получил ошибку, которая говорит:
NoReverseMatch: Reverse for 'index_path' with arguments '(1, )' and keyword arguments '{}' not found.
PS: в моем мастер urls.py
url(r'^blog/', include('app.posts.urls')),