オートビューの引数にGET
-
11-09-2019 - |
質問
some_view?param1=10¶m2=20
def some_view(request, param1, param2):
ジャンゴで可能なですか?
解決
あなたはいつもデコレータを書くことができます。例えば。 (未テスト)のような何かます:
def map_params(func):
def decorated(request):
return func(request, **request.GET)
return decorated
@map_params
def some_view(request, param1, param2):
...
他のヒント
私はそれはそれはビュー関数にの引数のようにそれらを渡すために取得することが可能ですわからないんだけど、なぜあなたは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 paramsはを使用することができます。興味があるだけ、なぜあなたはそれをしたいですか?
代わりに、Djangoに戦うの
、なぜちょうどsome_view / 10月20日を要求し、引数を抽出するために、urls.pyを設定していない?
所属していません StackOverflow