para - Cómo hacer que la plantilla Django genere un error si falta una variable en contexto
django templates bootstrap (1)
Estoy usando plantillas de Django en un proyecto que no es de Django y quiero asegurarme de que mis plantillas no contengan referencias a variables que no estén en contexto y para eso necesito que el procesador de plantillas de Django {{ non_existent_variable }}
un error cuando vea {{ non_existent_variable }}
cuando no hay ninguna non_existent_variable
en Contexto.
TEMPLATE_STRING_IF_INVALID
podría configurarse para algo y luego podríamos comprobar que este algo no está en la plantilla renderizada, pero eso no es nada elegante.
¿Puedo, de alguna manera, sin demasiado trabajo anular la forma en que Contexto traga los errores clave?
Hay un djangosnippets.org/snippets/646 que proporciona una solución:
# settings.py
class InvalidVarException(object):
def __mod__(self, missing):
try:
missing_str=unicode(missing)
except:
missing_str=''Failed to create string representation''
raise Exception(''Unknown template variable %r %s'' % (missing, missing_str))
def __contains__(self, search):
if search==''%s'':
return True
return False
TEMPLATE_DEBUG=True
TEMPLATE_STRING_IF_INVALID = InvalidVarException()