将数据发送到 Django 模板层的最佳方式是什么?
我应该把整个对象放在模板的上下文中,还是应该把它的每个字段都放在里面?
将数据发送到 Django 模板层的最佳方式是什么?
我应该把整个对象放在模板的上下文中,还是应该把它的每个字段都放在里面?
您应该传入整个对象,并且您将能够正常访问它们的属性。话虽如此,我建议您使用RequestContext,特别是如果您所指的模板是用于 html 的。
一个例子:
from django.template import RequestContext
from django.shortcuts import render_to_response
# define object somehow....
my_object = {'some_stuff': some_value}
def YourView(request):
context = RequestContext(request, {
'a_variable_you_would_like_to_pass': 'variable_value',
'obj' : my_object
})
return render_to_response('your_template.html', context_instance = context)
然后,在 your_template.html ...
<div>{{ a_variable_you_would_like_to_pass }}</div>
<div>{{ obj.some_stuff }}</div><!-- Would insert some_value -->
通常你会放置一个完整的对象,然后使用 django 模板语言对其进行迭代。但是,如果您有未连接的变量,则无需将它们组合成一个对象。它们都将在上下文对象中。