0

スペースが「-」文字に置き換えられた URL があります。そこで、次のような 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 文字を超える URL で非常に忙しくなります。プロセスが 20 秒から 1 分間ハングした後、正しい結果が返されます。これは私が使用している間違った正規表現に基づいていますか?

4

1 に答える 1

1

次の URL パターンを試してください。

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

[\w-]+1 つ以上の英数字またはハイフンに一致します。

于 2012-07-26T13:32:07.540 に答える