Почему мои политики jinja2 json не влияют на flask? - PullRequest
0 голосов
/ 14 января 2020

Попытка переопределить фильтр сериализации 'to json' в шаблоне jinja2 для использования моей пользовательской функции сериализации json.

Согласно документам https://jinja.palletsprojects.com/en/2.9.x/api/, там написано 2 «политики», которые должны позволять это. json .dumps_function или json .dumps_kwargs. Я пробовал оба, и ни один из них, похоже, не дал никакого эффекта.

У меня он работает как мой собственный фильтр (у нас есть функция 'json_serial', определенная в другом месте).

    def to_json_custom(value):
        return json.dumps(value, default=json_serial)
    app.jinja_env.filters['tojson_custom'] = to_json_custom

Но так как Я капризный, я хочу знать, почему другой способ не работает. Я делаю что-то глупое или flask мешаю мне. Почему ни один из них ничего не делает (без ошибок, они проходят безрезультатно) в одном и том же месте кода.

    app.jinja_env.policies['json.dumps_function'] = to_json_custom
    app.jinja_env.policies['json.dumps_kwargs'] = {'default' : json_serial}

flask 0.12.2

jinja2 2,9,6

python 2,7

...