Как внедрить HTML разметку внутри существующего HTML шаблона?

Как вставить HTML-разметку в шаблон HTML при использовании Flask и функции render_template? Если переменная, которую вы хотите вставить, содержит HTML-код, то по умолчанию он будет отображаться как текст с заменой специальных символов (< > и т.д.), вместо отображения самой разметки. Как можно обойти это и отобразить контент, а не HTML-код?
  • 23 ноября 2023 г. 11:09
Ответы на вопрос 1
Чтобы внедрить HTML разметку внутри существующего HTML шаблона в Flask, можно использовать фильтр `safe` или функцию `Markup` из модуля `flask`.

Примеры приведены ниже:

1. Использование фильтра `safe`:
   ```html
   <div>
     {{ html_content | safe }}
   </div>
   ```

2. Использование функции `Markup`:
   ```python
   from flask import render_template, Markup

   @app.route('/')
   def index():
       html_content = "<h1>Hello World!</h1>"
       return render_template('index.html', html_content=Markup(html_content))
   ```

   ```html
   <div>
     {{ html_content }}
   </div>
   ```

В обоих случаях, HTML разметка, содержащаяся в переменной `html_content`, будет отображаться как контент, а не как текст.
Похожие вопросы