some_view?param1=10¶m2=20
def some_view(request, param1, param2):
Djangoでそのようなことは可能ですか?
some_view?param1=10¶m2=20
def some_view(request, param1, param2):
Djangoでそのようなことは可能ですか?
Djangoと戦う代わりに、some_view / 10/20をリクエストしてから、引数を抽出するためにurls.pyを設定してみませんか?
それらを引数としてビュー関数に渡すことができるかどうかはわかりませんが、GET
から変数にアクセスできないのはなぜrequest.GET
ですか? その URL を考えると、Django はrequest.GET['param1']
10 になりrequest.GET['param2']
、20 になります。それ以外の場合は、やりたいことを実行するために、ある種の奇妙な正規表現を考え出す必要があります。
私はパオロに同意します...「?」の後のもの は 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 パラメータを使用することもできます。ちょっと興味があるのですが、なぜそれが欲しいのですか?