19

すべての文字を受け入れるURLが必要です。例:

(r'^company/(?P<key>[a-zA-Z]+)/doclist/$','CompanyHub.views.docList')

パラメータの場合key、ASCIIアルファベット文字だけでなく、数字、$、-、_、...、アルファベット、Unicode文字などの記号を含むすべての文字を受け入れます。

これどうやってするの?

4

3 に答える 3

38

コードは次のようになります。

(ur'^company/(?P<key>.*)/doclist/$','CompanyHub.views.docList')

文字列が Unicode 文字を受け入れることを Python に伝えるために、先頭に「u」が必要です。

于 2012-07-08T15:50:23.627 に答える
15

正規表現は次のようになります。

(.*)

これは、改行文字を除くすべての文字と一致する必要があります。

于 2012-07-08T15:46:58.620 に答える
2

他の人が言ったように:

(.*)

...すべての文字に一致しますが、空の文字列にも一致します (正規表現が URL の末尾にある場合、これは問題になる可能性があります)。少なくとも 1 文字が必要であることを強制する場合は、次のようにします。

(.+)

明確にするために、これらは URL の最後だけでなく途中でも機能するため、次のようなものは完全に正常に機能します。

url(ur'^package\/(?P<pkgname>.+)\/(?P<pkgversion>.+)', ... )

(そして@tsikovが言うように、ユニコードには前に「u」を使用してください)

于 2018-02-09T15:50:23.280 に答える