Вопрос

Я пытаюсь отобразить исходный код Django из шаблона Django. Однако я не могу найти тег, похожий на HTML pre или xmp.

Вот код

Кроме того, у меня есть блок с тем же именем, который вызывает ошибку.

Это было полезно?

Решение

Если ваше представление помещает исходный код в переменную контекста с именем source, ваш шаблон может выглядеть следующим образом:

<pre>
{{ source|escape }}
</pre>

Фильтр escape экранирует определенные символы, чтобы сделать уверен, что HTML отображается правильно.

Если вы просто хотите отобразить исходный код шаблона в вашем шаблоне, есть два варианта.

Используйте для этого экранирование HTML и удалите теги XMP.

&#123; instead of }
&#125; instead of {

Или используйте тег шаблона шаблона:

{% templatetag openbrace %} instead of }
{% templatetag closebrace %} instead of {

и т. д. см. ссылку

Другие советы

Я не совсем уверен, понимаю ли я: Если вы хотите показать код шаблона django, попробуйте изменить '{' и '}' на

&#123; and &#125;

После этого django не распознает его как var.

РЕДАКТИРОВАТЬ: другой способ запретить django анализировать код здесь :) http://docs.djangoproject.com/en/dev/ref/templates/builtins/#templatetag

У Django есть специальный тег шаблона для этого цель.

использовать дословный тег шаблона

{% verbatim %} 
...
{% endverbatim %}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top