1

私は現在、この形式のURLを持っています/blue-各URLは色です。関連するURLパターンは次のとおりです。

 (r'^(?P<colour>\w+)$', 'views.colour')

長さが不定で、次のように区切られた、自然言語リストのように見えるURLを作成できるかどうか疑問に思っています-or-

/blue-or-green-or-yellow

理想的には、関連付けられたURLパターンが各一致をPythonリストに追加し、ビューで処理できるようにします。

 (r'^(?P<colour_list>\w+)(?:-or-(?P<colour_list>\w+))+$', 'views.colour')

Djangoでこれを行う方法はありますか?

4

3 に答える 3

4

のようなもの(?P<colour_list>(\w+(\-or\-)?)+)は、部分文字列全体の一致を取得し、それからあなたはただ分割することができます-or-

ただし、その場合blue-or-は有効な一致になるため、次のように分割することをお勧めします。filter(bool, colour_list.split('-or-'))

于 2013-01-05T13:08:58.090 に答える
0

このようなものが役立ちます:

カンマ区切りの色を取ります

(r'^(?P<colours>[\w,]+)$', 'views.colour')

その後、ビューで:

colours = colours.split(',')
于 2013-01-05T13:29:30.677 に答える
0

これを試してくださいregex

(\w+(?:-or-)?)+

または文字列分割を使用します:

result = colours.split("-or-")
于 2013-01-05T13:32:51.167 に答える