13

さて、私はかなり長い間これを検索しようとしました。django アプリのビューに args と kwargs を渡すことはできませんか? 各キーワード引数を個別に定義する必要がありますか?

例えば、

#views.py
def someview(request, *args, **kwargs):
...

そしてビューを呼び出しながら、

response = someview(request,locals())

私にはそれができないようです。代わりに、私はしなければなりません:

#views.py
def someview(request, somekey = None):
...

理由はありますか?

4

3 に答える 3

5

問題はlocals()、辞書を返すことです。使用したい場合**kwargsは、解凍する必要がありますlocals

response = someview(request,**locals())

response = someview(request,locals())実際に辞書を引数として渡しているように使用する場合:

response = someview(request, {'a': 1, 'b': 2, ..})

しかし、使用するとき**locals()は、次のように使用しています。

response = someview(request, a=1, b=2, ..})

Unpacking Argument Listsをご覧ください。

于 2012-12-20T17:59:41.750 に答える