Как вывести код jinja на шаблон?
Например, у меня есть маршрут, который должен отображать код jinja на данном шаблоне HTML, например:
<code>from app import app
from flask import render_template
from jinja2 import Template
@app.route('/View/Package')
def getView():
HtmlDesc="""
<div class="codehilite"><pre><span></span><span class="p">{{</span><span class="n">cookiecutter</span><span class="o">.</span><span class="n">repo_name</span><span class="p">}}</span><span class="o">/</span><span class="p">{{</span><span class="n">cookiecutter</span><span class="o">.</span><span class="n">repo_name</span><span class="p">}}</span><span class="o">/</span><span class="p">{{</span><span class="n">cookiecutter</span><span class="o">.</span><span class="n">repo_name</span><span class="p">}}</span><span class="o">.</span><span class="n">py</span>
"" "return render_template ('package. html ', html = Template (HtmlDes c). render ())
В шаблоне я попытался экранировать код jinja с {% raw %}..{% endraw %}
и {% filter escape %} .. {% endfilter %}
, как задокументировано здесь но все равно не работает:
<h1>Project Description</h1>
<div class="project-description">
{% raw %}{% filter escape %}{{html|safe}}{% endfilter %}{% endraw %}
</div>
</div>
За исключением:
TemplateSyntaxError: непредвиденный '<' </p>
Я знаю, что ошибка в {{</span><span...
и class="p">}}
, значение HtmlDesc
, поэтому я ищу правильный способ экранирования такого рода символов jinja, чтобы правильно отобразить этот код jinja в шаблоне. Спасибо.
Добавлено
Я пытаюсь добиться того, чтобы я хотел, чтобы код html
и jinja
HtmlDesc
интерпретировался и корректно отображался в веб-браузере. В моем реальном приложении приведенный выше текст не является фиксированным значением, как в приведенном выше фрагменте, он считывает значение из текстового файла README
, который включает в себя python пакет и конвертируется в HTML код. Приведенный выше пример текста читается из python package cookiecutter .