0
some_view?param1=10&param2=20

def some_view(request, param1, param2):

Djangoでそのようなことは可能ですか?

4

4 に答える 4

1

Djangoと戦う代わりに、some_view / 10/20をリクエストしてから、引数を抽出するためにurls.pyを設定してみませんか?

于 2009-04-18T12:26:15.337 に答える
1

それらを引数としてビュー関数に渡すことができるかどうかはわかりませんが、GETから変数にアクセスできないのはなぜrequest.GETですか? その URL を考えると、Django はrequest.GET['param1']10 になりrequest.GET['param2']、20 になります。それ以外の場合は、やりたいことを実行するために、ある種の奇妙な正規表現を考え出す必要があります。

于 2009-04-18T07:54:09.890 に答える
1

私はパオロに同意します...「?」の後のもの は GET パラメータであり、おそらくそのように扱う必要があります。そうは言っても、質問で述べたように some_view() の定義を本当に維持したい場合は、次のようにすることができます。

from django.http import Http404
def some_view_proxy(request):
     if 'param1' in request.GET and 'param2' in request.GET:
         return some_view(request, request.GET['param1'],
                          request.GET['param2'])
     raise Http404

または、このように some_view() を定義して、GET パラメータを使用することもできます。ちょっと興味があるのですが、なぜそれが欲しいのですか?

于 2009-04-18T08:27:15.913 に答える