Рендеринг только HTML с использованием jinja2 - PullRequest
0 голосов
/ 14 июня 2019

Я использую Jinja2 для рендеринга HTML-страницы, которая, в свою очередь, имеет код Javascript, который генерирует div.Мне нужен HTML, полученный в результате выполнения кода JavaScript, а не тега, подобного следующему:

<html>
<body>
<script>create_a_div()</script>
</body>
</html>

Требуемый вывод:

<html>
<body>
<div></div>
</body>
</html>

Есть ли какой-либо аргумент, который я мог бы использовать в функциисделать для этого?

Я бы разрешил выполнение этого кода JavaScript на стороне клиента, но мне не разрешено сохранять его из соображений безопасности.

1 Ответ

0 голосов
/ 14 июня 2019

Если я четко понимаю, что вы просите, я боюсь, что ответ нет , вы не можете выполнить код JavaScript в функции рендеринга.

То, что вы могли бы сделать, этопередать html как переменную в шаблон с фильтром safe .

Шаблон:

<html>
<body>
  {{ custom_html|safe }}
</body>
</html>

А при рендеринге используйте следующий код Python:

template.render(custom_html="<div>your html code</div>") 

Это даст вам желаемый результат, который вы ищете.

Youможете узнать больше о шаблонах и переменных JINJA2 здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...