Alb*_*chy 0 python django scope locals django-views
我一直在这种情况下结束,我想使用字典非常像'locals'给出的字典,但只包含函数范围有限的变量.有没有办法在python中执行此操作?
更多关于我为什么要这样做的事情:我正在玩Django,当我去给我的模板上下文时,我被迫要么手动制作字典(违反DRY原则)要么传入本地人()然后需要更多的条目(浪费).是否有一些我缺少的django可以减轻python级解决方案的需要?
澄清:
所以,我反复击中的情况就是我所拥有的:
@render_to('my_template.html')
def myview(request):
var1 = #blahblah
var2 = #...
# do stuff with vars
return {'var1': val1,'var2':val2}
Run Code Online (Sandbox Code Playgroud)
因此,我不会重复这些变量和命名约定,而是:
@render_to('my_template.html')
def myview(request):
var1 = #blahblah
var2 = #...
# do stuff with vars
return locals()
Run Code Online (Sandbox Code Playgroud)
我觉得它更干净,但我知道它有点马虎,因为当地人()中有大约30个条目然后我真的需要.
我不确定我是否同意制作字典是违反DRY的,但如果你真的不想重复任何事情,你可以在视图的顶部定义一个"上下文"字典并使用字典键而不是整个视图中的变量.
def my_view(request):
context = {}
context['items'] = Item.objects.all()
context['anothervalue'] = context['items'][2].name
return render_to_response('template.html', context)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |