「ローカル」が返すものと非常によく似た辞書を使用したいというこの状況に陥り続けていますが、それには関数の限られた範囲内の変数しか含まれていません。Pythonでこれを行う方法はありますか?
これを行う理由についてもう少し: 私は Django で遊んでいて、テンプレートのコンテキストを提供するときに、手動で辞書を作成する (DRY 原則に違反している) か、locals() を渡す必要があります。これには、必要以上に多くのエントリが含まれています (無駄です)。Pythonレベルのソリューションの必要性を軽減するdjangoに欠けているものはありますか?
明確にするために:
だから、私が繰り返しヒットしたケースは、私が持っている場所です:
@render_to('my_template.html')
def myview(request):
var1 = #blahblah
var2 = #...
# do stuff with vars
return {'var1': val1,'var2':val2}
したがって、これらの変数と命名規則を繰り返す代わりに、次のようにします。
@render_to('my_template.html')
def myview(request):
var1 = #blahblah
var2 = #...
# do stuff with vars
return locals()
これはよりクリーンだと思いますが、実際に必要なエントリが locals() に約 30 個あるため、そのようなずさんなものを知っています。