Я продолжаю сталкиваться с такой ситуацией, когда хочу использовать словарь, очень похожий на тот, который возвращает «местный», но он содержит только переменные в ограниченном объеме функции. Есть ли способ сделать это в Python?
Еще немного о том, почему я хочу это сделать: я играю с Django, и когда я собираюсь дать контекст шаблонов, я вынужден либо вручную создать словарь (в нарушение принципов DRY), либо передать locals (), который содержит гораздо больше записей, чем необходимо (расточительно). Возможно, в django мне чего-то не хватает, что могло бы облегчить необходимость решения на уровне python?
Уточнить:
Итак, я неоднократно сталкивался с делом:
@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 записей, которые мне действительно нужны.