Как правильно передать код Jinja2 для рендеринга в HTML Шаблон? - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть пример данных в виде необработанного кода jinja, который запрашивается из базы данных, как показано ниже:

    data = """
        <table>
          <tr>
            <td>
              Jinja Application
            </td>
            <td>
              {% for i in range(1,3) %}
               <p>{{i}}</p>
              {% endfor %}
            </td>
          </tr>
        </table>
        """

Итак, я попытался передать его, data как необработанный код jinja для рендеринга на html template, я закодировал это так:

from flask import Flask, render_template, request

app = Flask(__name__)


@app.route('/preview', methods=['POST','GET'])
def getPreview():
    data = """
            <table>
              <tr>
                <td>
                  Jinja Application
                </td>
                <td>
                  {% for i in range(1,3) %}
                   <p>{{i}}</p>
                  {% endfor %}
                </td>
              </tr>
            </table>
            """

    return render_template('preview.html', data=data)

В моем шаблоне я попытался отобразить его так:

{% extends 'base/base.html' %}

{% block content %}
    {{data|safe}}
{% endblock%}

Однако браузер отображает необработанный код jina вместо интерпретации it.

Как я могу заставить браузер понимать мой код jinja, переданный с python? Спасибо

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