2010-01-21 15 views
7

Como desarrollador de PHP desde hace mucho tiempo, estoy acostumbrado a la idea de establecer el nivel de error para que mi aplicación me advierta cuando estoy usando una variable no inicializada. Me preguntaba si existe una característica similar en Django, donde puedo detectar en el tiempo de ejecución que estoy usando una variable en mi plantilla que no se pasó explícitamente a la plantilla a través de la vista.Detectando variables no definidas en las plantillas de Django

Por ejemplo, mal escrito un nombre de variable en la plantilla

{{ mysearch }} 

cuando debería haber sido

{{ my_search }} 

Error común, sin prestar atención al escribir, etc. En PHP que lo haría He visto una advertencia sobre el uso de una variable no iniciada, pero a Django no parece importarle y simplemente sigue funcionando como si nada hubiera pasado. Desde una perspectiva de depuración, sería increíble detectar cuándo cometí un error así.

¿Alguna idea?

Respuesta

6

¿Estás buscando esto? http://docs.djangoproject.com/en/1.1/ref/templates/api/#invalid-template-variables

¿Has probado la configuración TEMPLATE_STRING_IF_INVALID? por ejemplo,

TEMPLATE_STRING_IF_INVALID = 'DEBUG WARNING: template variable [%s] is not defined' 

que hará que esa cadena a imprimir en el HTML representado para cada punto donde se hace referencia una variable no definida, junto con el nombre de la variable.

Lea esto: http://docs.djangoproject.com/en/1.1/ref/settings/#setting-TEMPLATE_STRING_IF_INVALID

+0

Mi problema era que no sabía cómo * * para enmarcar la cuestión es de tal manera que Google pudiera encontrar una respuesta. ¡Muchas gracias! – GrumpyCanuck

+0

No usé Google. Hojeé las páginas de la documentación de la plantilla en el sitio de Django. –

Cuestiones relacionadas