В Django> = 1.8, TEMPLATE_STRING_IF_INVALID
устарело в пользу string_if_invalid
в settings.TEMPLATES
.
Если вы хотите сделать чуть больше, чем зависит от DEBUG
сообщений от django.template
регистратора, вы можете обмануть следующий код в django.template.base.FilterExpression.render()
:
if '%s' in string_if_invalid:
return string_if_invalid % self.var
С классом, подобным следующему:
class InvalidString(object):
def __mod__(self, other):
log.error('Missing template variable: "%s"', other)
# ... do other interesting things ...
return u''
def __contains__(self, item):
return item == '%s'
И установить string_if_invalid
в settings.TEMPLATES
:
TEMPLATES = [{
'OPTIONS': {'string_if_invalid': InvalidString()}
# ...
}]