Permalink
Browse files

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

…se exceptions.

Thanks Keryn Knight for the report.

Backport of e077224 from master
  • Loading branch information...
1 parent 5c1be8a commit 7f62d794b303bedfd094742a84dcc8b85df3ba8b @Bouke Bouke committed with timgraham Oct 14, 2013
Showing with 7 additions and 2 deletions.
  1. +1 −0 AUTHORS
  2. +6 −2 docs/howto/custom-template-tags.txt
View
@@ -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
@@ -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

0 comments on commit 7f62d79

Please sign in to comment.