2

次のような Django URL があります。

url(r'^(?P<category_id>\w+)/beginner/$', views.beginner, name='beginner')

この正規表現は、次のような URL を受け入れます。

http://127.0.0.1:8000/quiz/grammar/beginner/
http://127.0.0.1:8000/quiz/vocabulary/beginner/

ただし、次の URL'-'は受け入れられません。

# This URL is not accepted
http://127.0.0.1:8000/quiz/business-english/beginner/

URLを受け入れるようにこの正規表現を変更するにはどうすればよいですか'-'

4

2 に答える 2

5

\w+より良いのは、次のように置き換える[\w-]+ことです。-

言う:単語\wまたは-1回以上一致

あなたのDjangoのURLは次のようになります

url(r'^(?P<category_id>[\w-]+)/beginner/$', views.beginner, name='beginner')
于 2013-08-29T05:22:05.147 に答える
1

\w文字、数字、および_に一致し、 ではありません-

に置き換え\wます[-\w]:

url(r'^(?P<category_id>[-\w]+)/beginner/$', views.beginner, name='beginner')
于 2013-08-29T05:17:30.923 に答える