[Flask] Jinja environment finalize function
S McGraw
smcg4191 at mtneva.com
Tue Oct 6 05:40:56 CEST 2015
On 10/02/2015 05:16 AM, David Nieder wrote:
> On 01.10.2015 07:15, S McGraw wrote:
>> Jinja allows one to initialize an environment with a
>> "finalize" callable, which I want to do to convert None's
>> to empty strings before they are output. This is much
>> cleaner than than filling my templates with innumerable
>> "if none ..." constructs.
>>
>> But I don't see in the Flask docs how to do this.
>> Suggestions?
>
> Dont't know if this is the way to go but just patching the jinja
> environment works for me:
>
> def finalize(arg):
> if arg is None:
> return ''
> return arg
>
> app = Flask(__name__)
> app.jinja_env.finalize = finalize
Yup, that worked fine. I should have tried that before posting
but I thought I remembered trying to do that (set the finalize
value after the environment was initialized) a while ago in a
non-Flask project, unsuccessfully. Or maybe Flask has not set
the environment yet, I didn't look at the Flask code. In any
event, thanks!
More information about the Flask
mailing list