2009-07-17 5 views
0

Djangoで '/'(スラッシュ)で区切られた 'n'パラメータを受け入れる方法はありますか?Djangoのパラメータの一部としてスラッシュを受け入れるURLSを使用する

私はこれがうまくいくと思っていましたが、そうではありません。 Djangoは引き続き区切り文字としてスラッシュを認識します。

(r'^(?P<path>[-\w]+/)$', 'some.view', {}), 
+0

をあなたが受け入れるパラメータとはどういう意味ですか? – AlbertoPL

+1

動作しない理由は、ハイフンと\ w(英数字+アンダースコア)が含まれているためです。文字クラスに/を追加するか、(イアンの答えによると)より自由なものを使って、*のようなものを含むように条件を拡張する必要があります。* –

答えて

4

はあなたのurlpatternsに右のURLを追加します。

# ... 
("^foo/(.*)$", "foo"), # or whatever 
# ... 

そして、あなたのビューでそれを処理、AlbertoPLが言ったように:

fields = paramPassedInAccordingToThatUrl.split('/') 
1

確かに、Djangoは正規表現によって記述することができる任意のURL受け入れることができる - が続くプレフィックスを有するものなどを「/」「/」で区切られたセグメントの可変数が続きます。厳密な正規表現はあなたが受け入れたいものに依存しますが、Djangoの例は、ビューのURLの接尾辞を解析する/ admin URLによって与えられます。

関連する問題