jinja2 defaults to handling undefined variables by doing nothing at all (no error). We can set it to raise an error, which I think will help us do better development. But there are lots of unknown places where templates are already relying on the silent behavior.
Some basic initial work is in branch db/6556 but we'll have to fix a lot of existing templates.