Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2010 23:43:38

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод в шаблоне

Есть скрипт

dd=Update()
res = urllib.urlopen('test.ru')
res= str(res.read())
s=re.search(r"<div>(.*?)<\/div>",res)
for x in s.groups():
dd.text=x.decode('cp1251')

dd.save()
поле text содержит текст в формате html
вывожу вот так, скрипт запускается каждые 30 секунд и подгружает новые обьекты
<div class="text">
{{ object.text|linebreaksbr }}
</div>
Новый обьект подгружается без проблем, но вот если обновить страницу, то поля превращаются в текст с тегами. Может есть способ как нибудь это по другому выводить?



Офлайн

#2 Ноя. 17, 2010 09:59:07

Ziberbulger
От:
Зарегистрирован: 2010-05-08
Сообщения: 76
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод в шаблоне

используйте фильтр safe
насколько я помню он разрешает использование html

<div class="text">
{{ object.text|safe|linebreaksbr }}
</div>



Офлайн

#3 Ноя. 17, 2010 11:26:59

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод в шаблоне

при использовании safe могут возникнуть проблемы с xss если эти данные вводят пользователи.
используйте(свой тэг) например тег с либой #from html5lib import sanitizer

Офлайн

#4 Ноя. 17, 2010 11:40:05

Ziberbulger
От:
Зарегистрирован: 2010-05-08
Сообщения: 76
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод в шаблоне

не знал про html5lib. теперь знаю, спасибо ))



Офлайн

#5 Ноя. 17, 2010 17:29:10

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

#6 Ноя. 18, 2010 17:11:56

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод в шаблоне

Хочется конечно с html5lib , но не понял(курил документацию и форум читал, но буду дальше рыть) - вы имеете ввиду парсить до записи в базу, если нет, можно примерчик?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version