나는, 사용자가 '/ 블로그 아무것도 예를 입력하면 내 urlpatterns url(r'^(page/(?P<page>\d+)/)?$', 'index', name = 'index_path')
장고 URL 역 및 정규 표현식
를이있어 여기 내 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 :
url(r'^blog/', include('app.posts.urls')),
상단의 url 패턴에'page /'가 아닌'blog /'를 사용한다고 가정합니까? –
죄송합니다. – yigit