[1.5.x] Fixed #20962 -- Documented that template tag render() may raise exceptions.

Thanks Keryn Knight for the report.

Backport of e077224f4a from master
This commit is contained in:
Bouke Haarsma 2013-10-14 14:43:55 +02:00 committed by Tim Graham
parent 5c1be8a870
commit 7f62d794b3
2 changed files with 7 additions and 2 deletions

View File

@ -236,6 +236,7 @@ answer newbie questions, and generally made Django that much better:
Janos Guljas
Thomas Güttler <hv@tbz-pariv.de>
Horst Gutmann <zerok@zerokspot.com>
Bouke Haarsma <bouke@haarsma.eu>
Antti Haapala <antti@industrialwebandmagic.com>
Scot Hacker <shacker@birdhouse.org>
dAniel hAhler

View File

@ -495,8 +495,12 @@ Notes:
* The ``render()`` method is where the work actually happens.
* ``render()`` should never raise ``TemplateSyntaxError`` or any other
exception. It should fail silently, just as template filters should.
* ``render()`` should generally fail silently, particularly in a production
environment where :setting:`DEBUG` and :setting:`TEMPLATE_DEBUG` are
``False``. In some cases however, particularly if :setting:`TEMPLATE_DEBUG` is
``True``, this method may raise an exception to make debugging easier. For
example, several core tags raise ``django.template.TemplateSyntaxError``
if they receive the wrong number or type of arguments.
Ultimately, this decoupling of compilation and rendering results in an
efficient template system, because a template can render multiple contexts