错误的url正则表达式让django忙碌

时间:2012-07-26 13:14:52

标签: django django-views django-urls

我有空格用“ - ”字符替换空格。 所以我做了一个这样的url正则表达式:

url(r'^(?P<item_url>(\w+-?)*)/$', 'detail'),

我的观点:

def detail(request, item_url):
   i = get_object_or_404(Page, url=item_url,published=True)
   return render_to_response('item/detail.html', {'item':i},
       context_instance=RequestContext(request))

不幸的是,这让django非常忙于超过20个字符的网址。该过程挂起20秒 - 1分钟,然后返回正确的结果。这是基于我正在使用的错误的正则表达式吗?

1 个答案:

答案 0 :(得分:1)

尝试以下网址格式:

url(r'^(?P<item_url>[\w-]+)/$', 'detail'),

[\w-]+将匹配一个或多个字母数字字符或连字符。