Я хочу сделать макросы доступными внутри статей для моего flask блога. Когда тело моего блога изменяется, я запускаю следующий код, чтобы отобразить тело в HTML:
target.body_html = bleach.linkify(bleach.clean(render_template_string(value),tags=allowed_tags, attributes=allowed_attr, strip=True))
render_template_string (value) - это часть, которая меня беспокоит. Чтобы использовать макрос внутри строки шаблона (значения), каждая отдельная строка должна включать следующее, чтобы я мог использовать макросы из этого файла в теле статьи:
{% import "includes/macros.html.j2" as macros %}
Это не будет Разумно убедиться, что авторы имеют доступ к макросам, которые я пишу во всех своих статьях. Есть ли способ передать этот аргумент через функцию render_template_string (), чтобы его не нужно было определять в каждой строке? Или иначе создать шаблон, внутри которого отображается строка? Примерно так:
render_template_string(string,macros=function_to_import_macros("includes/macros.html.j2"))