slug名称模式匹配分页的第一页,但它为其他页面返回'NoReverseMatch'错误。
这是模板:
added by <a href="{% url 'pplistPage' story.author %}"><strong>{{ story.author }}</strong></a>
这是urls.py(我尝试过很多其他正则表达式,但问题仍然存在)
url(r'^profile/(?P<profile>[a-zA-Z0-9_]+)/', views.profilepostlist, name='pplistPage'),
这是views.py
def homepage(request, latest_f=latest_f, latest_m=latest_m, latest_a=latest_a, ppp=ppp):
stories = Story.objects.all().order_by("-modified")
paginator = Paginator(stories, ppp)
page = request.GET.get('page')
try:
story_list = paginator.page(page)
except PageNotAnInteger:
story_list = paginator.page(1)
except EmptyPage:
story_list = paginator.page(paginator.num_pages)
context = {
'stories' : story_list,
'latest_f' : latest_f,
'latest_m' : latest_m,
'latest_a' : latest_a,
}
return render(request, 'listing/index.html', context)
奇怪的是它在分页的第一页和索引页面中工作,甚至在没有分页的故事页面中也是如此。但是当我点击其他页面('127.0.0.1:8000/?page=2')时,它会引发错误。
示例模式:127.0.0.1:8000/profile/orhan/
错误讯息:
Reverse for 'pplistPage' with arguments '('',)' and keyword arguments '{}' not found.
1 pattern(s) tried: ['profile/(?P<profile>[a-zA-Z0-9_]+)/']'