检测Django模板中的未设置变量

Gru*_*uck 7 django variables templates

作为PHP开发人员的长期以来,我习惯于为我的应用程序设置错误级别,以便在使用未初始化的变量时警告我.我想知道Django中是否存在类似的功能,我可以在运行时检测到我在模板中使用的变量未通过视图显式传递给模板?

例如,我在模板中拼错了变量名称

{{ mysearch }}
Run Code Online (Sandbox Code Playgroud)

什么时候应该

{{ my_search }}
Run Code Online (Sandbox Code Playgroud)

常见的错误,在打字时不注意等等.在PHP中,我会看到关于使用uninitiailzed变量的警告,但Django似乎并不关心,只是一直没有发生任何事情.从调试的角度来看,当我犯这样的错误时,检测它会很棒.

有什么想法吗?

S.L*_*ott 6

你在找这个吗? http://docs.djangoproject.com/en/1.1/ref/templates/api/#invalid-template-variables

你试过设置TEMPLATE_STRING_IF_INVALID吗?例如,

TEMPLATE_STRING_IF_INVALID = 'DEBUG WARNING: template variable [%s] is not defined'
Run Code Online (Sandbox Code Playgroud)

这将导致该字符串在引用未定义变量的每个位置的渲染html中打印,以及变量名称.

阅读:http://docs.djangoproject.com/en/1.1/ref/settings/#setting-TEMPLATE_STRING_IF_INVALID