从Django中的视图中省略一个参数?

时间:2013-09-15 10:24:10

标签: python regex django django-views url-pattern

urls.py urlpatterns我有这样的声明:

url(r'^product-(\d+)-([a-zA-Z_]+)$', 'product', name="product"),

regexp中的第二组是视图中不需要的SEO名称。

在视图中我有:

def product(request, product_id, suffix):

但我既不要求也不使用后缀。它只适用于SEO。

有没有办法摆脱这个参数?

1 个答案:

答案 0 :(得分:3)

删除SEO名称周围的括号:

url(r'^product-(\d+)-[a-zA-Z_]+$', 'product', name="product"),

现在不会捕获图案并将其传递给您的视图。

如果 分组,请使用非捕获组((?:...)代替(...)):

url(r'^product-(\d+)-(?:[a-zA-Z_]+)$', 'product', name="product"),