From e077224f4ad69a68ae58a373ef69941272d3656c Mon Sep 17 00:00:00 2001 From: Bouke Haarsma Date: Mon, 14 Oct 2013 14:43:55 +0200 Subject: Fixed #20962 -- Documented that template tag render() may raise exceptions. Thanks Keryn Knight for the report. --- docs/howto/custom-template-tags.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/howto/custom-template-tags.txt b/docs/howto/custom-template-tags.txt index c58444b9d6..1f6d2d5c75 100644 --- a/docs/howto/custom-template-tags.txt +++ b/docs/howto/custom-template-tags.txt @@ -478,8 +478,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 -- cgit v1.3