[1.7.x] Fixed #22412 -- More nuanced advice re template filters and exceptions.
Thanks Tim for review.
Backport of 7e3834adc9
from master
This commit is contained in:
parent
941f947bfd
commit
0b43308e2d
|
@ -88,9 +88,11 @@ Custom filters are just Python functions that take one or two arguments:
|
||||||
For example, in the filter ``{{ var|foo:"bar" }}``, the filter ``foo`` would be
|
For example, in the filter ``{{ var|foo:"bar" }}``, the filter ``foo`` would be
|
||||||
passed the variable ``var`` and the argument ``"bar"``.
|
passed the variable ``var`` and the argument ``"bar"``.
|
||||||
|
|
||||||
Filter functions should always return something. They shouldn't raise
|
Usually any exception raised from a template filter will be exposed as a server
|
||||||
exceptions. They should fail silently. In case of error, they should return
|
error. Thus, filter functions should avoid raising exceptions if there is a
|
||||||
either the original input or an empty string -- whichever makes more sense.
|
reasonable fallback value to return. In case of input that represents a clear
|
||||||
|
bug in a template, raising an exception may still be better than silent failure
|
||||||
|
which hides the bug.
|
||||||
|
|
||||||
Here's an example filter definition:
|
Here's an example filter definition:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue