Django多个视图参数和重复的命名URL

时间:2009-11-06 20:01:10

标签: django django-urls

我只是在思考如果让两个命名的URL同样产生任何问题。我尝试了它,它的工作原理。 例如,我有一个能够进行分页的视图:

def info(request, page_num = 1)    

我想把它称为两种方式,如:

/info
/info/page/1

所以我做了网址:

url(r'^info/$', 'views.info', name='info'),
url(r'^info/(?P<page_num>)\d+)/$', 'views.info', name='info'),

它似乎有效。这有什么不对,或者我应该以不同的方式命名我的第二个网址,例如 info_paginated

2 个答案:

答案 0 :(得分:0)

没有错,据我所熟知的标准做法。我知道我这样做,主要是当我使用与Javascript代码集成的URL时,我没有在页面加载时使用的参数。

答案 1 :(得分:0)

完全没问题,但您可能需要设置page_num = None,然后

if page_num is None:
    return redirect(reverse('info',{'page_num':1})

因为搜索引擎会看到yoursite.com/info和yoursite.com/info/1,并认为它们是重复的内容,如果您从一个重定向到另一个,您就可以了。