0

URLに英数字の文字列パラメーターを設定したいとします。各パラメーターは「+」で区切られ、複数のパラメーターがあります。つまり、blah.com / 1a + 2bは有効ですが、blah.com/1aまたはblah.com/1a_2bは無効になります。

これまでのところ、私のurls.pyには、次のものがあります。

(r'^((\w+)\+)+(\w+)$', 'XXX.views.YYY')

およびviews.py:

YYY(request, name, args*)

誰もがこれを行う方法を知っていますか?

4

1 に答える 1

1

URLConfの文字列を取得し、ビューで検証します。

url(r'^(?P<params_list>(\w+)\+?)+)/$');

あなたの見解では:

def my_view(request, params):
  if not validate_params(params): # validate as you wish
    raise Http404()

  # continue with your view

または、ビューがすでにリストを期待している場合は、文字列を取得して解析し、リストとしてビューに渡すデコレータを作成できます。

于 2011-05-22T10:12:04.680 に答える