2

将数据发送到 Django 模板层的最佳方式是什么?

我应该把整个对象放在模板的上下文中,还是应该把它的每个字段都放在里面?

4

2 回答 2

3

您应该传入整个对象,并且您将能够正常访问它们的属性。话虽如此,我建议您使用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 -->
于 2012-08-07T17:36:41.773 回答
0

通常你会放置一个完整的对象,然后使用 django 模板语言对其进行迭代。但是,如果您有未连接的变量,则无需将它们组合成一个对象。它们都将在上下文对象中。

于 2012-08-07T17:32:03.810 回答