Приложение Django Basic Inlines отображает предварительно определенный шаблон из синтаксиса псевдо-HTML на основе комбинации приложение/модель/идентификатор. Например, если вы пишете сообщение в блоге, вы можете вставить изображение, которое было сохранено в вашей модели изображения:
# In the admin
This is the body of my post.
<inline type="media.image" id="1" class="full">
Затем шаблон принимает фильтр render_inlines
, который необходимо пометить safe
, чтобы правильно отображать HTML:
# Template
{{ post.body|render_inlines|safe }}
Но даже с safe
фильтр по-прежнему избегает HTML, создавая <p><img src="..."><p>
в исходном коде.
Согласно документам, фильтр должен использовать mark_safe
, чтобы предотвратить автоматическое экранирование на уровне фильтра, но функция inlines
в parser.py
уже использует mark_safe
.
Есть ли что-то, что еще необходимо в Django 1.4, чтобы остановить автоматическое экранирование на пользовательском слое фильтра? Я не могу избавиться от этого автоматического экранирования ни в
Пробовал использовать autoescape=None
, тоже не помогло.
safe
или отключениеautoescape
в шаблоне ничего не делает. Это уже безопасно. - person richardcornish   schedule 31.03.2012