我可以合并这两种URL模式吗?

时间:2012-12-26 07:07:44

标签: python django

我想知道是否有必要在我的urls.py中使用这两种模式:

url(r'^books/author/(?P<id>\d+)/$', 'books.views.author'),
url(r'^books/author/(?P<id>\d+)/(?P<slug>[-\w]+)/$', 'books.views.author'),

基本上,slug是可选的。视图函数定义如下:

def author(request, id, slug=None):

请告知。

1 个答案:

答案 0 :(得分:3)

您可以将第二组和斜杠包装在非捕获组中,并使整个组可选:

r'^books/author/(?P<id>\d+)/(?:(?P<slug>[-\w]+)/)?$'