Django分页中的NoReverseMatch错误

时间:2017-02-15 12:56:13

标签: regex django pagination slug

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_]+)/']'

0 个答案:

没有答案