尝试paranoid django templates解决方案:
class ParanoidContextProxy(object):
"""
This is a poor-man's proxy for a context instance.
Make sure template rendering stops immediately on a KeyError.
"""
def __init__(self, context):
self.context = context
self.seen_keys = set()
def __getitem__(self, key):
self.seen_keys.add(key)
try:
return self.context[key]
except KeyError:
raise ParanoidKeyError('ParanoidKeyError: %r' % (key,))
def __getattr__(self, name):
return getattr(self.context, name)
def __setitem__(self, key, value):
self.context[key] = value
def __delitem__(self, key):
del self.context[key]
你可以看到变量[Django的调试工具栏(https://github.com/django-debug-toolbar/django-debug-toolbar/),虽然它不区分使用和未使用。 – 2012-08-10 12:11:24