Django在DEBUG模式下不创建{{debug}}变量

时间:2010-10-16 13:07:12

标签: django debugging

documentation开始,如果满足所有要求,应该在模板中使用称为“debug”和“sql_queries”的变量。

我设置了以下内容(并使用debug toolbar检查了它们的值):

  • DEBUG = True
  • TEMPLATE_DEBUG = True
  • TEMPLATE_CONTEXT_PROCESSORS保留默认值(包含'django.core.context_processors.debug')
  • INTERNAL_IPS = ('127.0.0.1',)(调试工具栏显示“HTTP标头”下的REMOTE_ADDR = '127.0.0.1'
  • TEMPLATE_STRING_IF_INVALID = "(invalid variable '%s'!)"

渲染包含{{ sql_queries }} {{ debug }}的模板时,我会将(invalid variable 'sql_queries'!) (invalid variable 'debug'!)作为输出。

我的Django版本是1.2.3。我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

在您看来,您是在创建Context还是RequestContext?它必须是RequestContext

答案 1 :(得分:1)

Ned Batchelder的回答让我走向了正确的方向。使用RequestContext时必须明确传递render_to_response实例:

return render_to_response("some.template.file",
                          templateArguments,
                          context_instance = RequestContext(request))

从Django 1.3开始,您可以使用render函数作为简写:

return render(request, "some.template.file", templateArguments)