Django: Как добавить html-тег из строки в html-шаблон

Детали: Клиентский фреймворк: Django

Веб-сервер: Python + Flask

У меня есть HTML-страница, которая отображается с помощью массива данных. Каждый элемент массива содержит некоторые поля. И одно из полей является объектом json.

Для улучшения видимости json я преобразовал json obj в html таблицу.

В настоящее время это не работает. Результаты (в браузере) выглядят так:

PasswordPolicy <table border="1"><tr><th>MinimumPasswordLength</th><td>16</td></tr><tr><th>RequireSymbols</th><td>True</td></tr><tr><th>Re

image1

Код колбы:

@app.route("/PasswordPolicy", methods=["GET"])
@login_required
def get_password_policy():
    get_table_content = list(db_object.get_password_policy())
    search_event = request.args.get('searchquery')
    at_type = request.args.get('audittype')
        print("**************")
        for e in get_table_content:
            print("Before:")
            print(e['PasswordPolicy'])
            e['PasswordPolicy'] = json2html.convert(json = e['PasswordPolicy'])
            print("After:")
            print(e['PasswordPolicy'])

        print("get_table_content:")
        print(get_table_content[0])
        print("**************")
        return render_template(
            'soc2/password_policy.html',
            get_list=get_table_content
        )

Html контент:

                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%">
                        <thead>
                        <tr class="headings">
                            <th class="column-title">BusinessUnit </th>
                            <th class="column-title">ControllerNumber </th>
                            <th class="column-title">PasswordPolicy </th>
                        </tr>
                        </thead>

                        <tbody>
                        {% for elements in get_list %}
                        <tr class="even pointer">
                            <td>
                                {{ elements["BusinessUnit"] }}
                            </td>
                            <td>
                                {{ elements["ControllerNumber"] }}
                            </td>
                            <td>
                                {{ elements["PasswordPolicy"] }}
                            </td>
                        </tr>
                        {% endfor %}
                        </tbody>
                    </table>

Вопрос в том, как сказать браузеру, чтобы он разбирал таблицу как html вместо простой строки

Вы можете использовать safe так: {{ your_html_string | safe }}

Спасибо за быстрый ответ.

работает!

Вернуться на верх