すべての文字を受け入れるURLが必要です。例:
(r'^company/(?P<key>[a-zA-Z]+)/doclist/$','CompanyHub.views.docList')
パラメータの場合key
、ASCIIアルファベット文字だけでなく、数字、$、-、_、...、アルファベット、Unicode文字などの記号を含むすべての文字を受け入れます。
これどうやってするの?
コードは次のようになります。
(ur'^company/(?P<key>.*)/doclist/$','CompanyHub.views.docList')
文字列が Unicode 文字を受け入れることを Python に伝えるために、先頭に「u」が必要です。
正規表現は次のようになります。
(.*)
これは、改行文字を除くすべての文字と一致する必要があります。
他の人が言ったように:
(.*)
...すべての文字に一致しますが、空の文字列にも一致します (正規表現が URL の末尾にある場合、これは問題になる可能性があります)。少なくとも 1 文字が必要であることを強制する場合は、次のようにします。
(.+)
明確にするために、これらは URL の最後だけでなく途中でも機能するため、次のようなものは完全に正常に機能します。
url(ur'^package\/(?P<pkgname>.+)\/(?P<pkgversion>.+)', ... )
(そして@tsikovが言うように、ユニコードには前に「u」を使用してください)