0
我有空格替換爲「 - 」字符的網址。 所以我做了一個URL的正則表達式是這樣的:錯誤的網址正則表達式讓django忙碌
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個字符的URL。該過程掛起20秒 - 1分鐘,然後返回正確的結果。這是基於我使用的錯誤正則表達式嗎?
這工作,非常感謝你!任何想法爲什麼我的正則表達式掛起? – Joey 2012-07-26 13:53:34
在您的正則表達式中,'(\ w + - ?)'表示一個由1個或更多字母數字字符組成的組,後跟零或1個連字符。那麼'*'匹配表示零個或許多這些組。我的正則表達式更復雜,但我不明白爲什麼它會一直持續下去。 – Alasdair 2012-07-26 14:18:25