Уведомления

Группа в Telegram: @pythonsu

#1 Май 2, 2007 21:24:15

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

Как заэскейпить данные для вывода на страницы? типа | escape в ихних шаблонах, но я не хочу ихние шаблоны юзать )

И есть ли готовые либы для BB-кодов?



Офлайн

#2 Май 3, 2007 16:38:38

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

ммм, никто не защищался что-ли от CSS?



Офлайн

#3 Май 3, 2007 20:13:46

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

nerezus
Как заэскейпить данные для вывода на страницы? типа | escape в ихних шаблонах, но я не хочу ихние шаблоны юзать )
Разве возможно использовать Django с неродными шаблонами?

nerezus
И есть ли готовые либы для BB-кодов?
Гляньте статью Ивана Сагалаева на предмет фильтров bbcode.



Офлайн

#4 Май 3, 2007 20:29:09

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

> Разве возможно использовать Django с неродными шаблонами?
А разве нет?


def test(request):
html = ‘preved’ # ну или как-нить другим шаблоном генерируем, я хочу через XSLT
return HttpResponse(html)



Офлайн

#5 Май 4, 2007 04:08:10

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

strip tags, BB-codes

Maximbo
nerezus
Как заэскейпить данные для вывода на страницы? типа | escape в ихних шаблонах, но я не хочу ихние шаблоны юзать )
Разве возможно использовать Django с неродными шаблонами?
Легко. Пример с Breve в аттаче. Правда Breve не работает с юникодом (читай: с русским), на что я указывал автору…

upd: Блин, нифига аттач не работает. См. где-нибудь в другом месте.


# views.py
from breve.plugin.django_adapter import render_to_response

def example(request):
context = {'name': ‘Mike’}
return render_to_response('example', context)


в settings.py добавляется переменная BREVE_ROOT, которая указывает на каталог, где хранятся шаблоны


# example.b
html[
head[
title
],

body [
h1,
p(class_='greeting')[
“”“ Hello to you, %s! ”“” % name
]
]
]


С тем же Mako делается тоже достаточно просто.



Отредактировано (Май 4, 2007 04:23:00)

Офлайн

#6 Май 5, 2007 08:47:23

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

> XML should not be used for template languages
из документации дижанго.
А почему? Категорически несогласен с этим утверждением, т.к. только XSL шаблоны - это шаблоны, которые можно одинаково использовать во всех языках(например)



Офлайн

#7 Май 5, 2007 11:29:22

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

nerezus
> XML should not be used for template languages
из документации дижанго.
А почему? Категорически несогласен с этим утверждением, т.к. только XSL шаблоны - это шаблоны, которые можно одинаково использовать во всех языках(например)
<flame>
А там же и ответ – не для людей эта строгость. Наверное, у авторов Django неплохо развито творческое полушарие мозга, раз даже детище своё они назвали в честь хорошего гитариста :)

Да и зачем что-то использовать везде? Универсальность красивой редко бывает.
</flame>



Офлайн

#8 Май 16, 2007 11:11:08

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

def escapeHtml(s):
return s.replace('&', ‘&amp;’).\
replace('"', ‘&quot;’).\
replace('\'', ‘&#039;’).\
replace('<', ‘&lt;’).\
replace('>', ‘&gt;’).\
replace('\0', '')
Достаточно безопасно? За основу взят http://php.net/htmlspecialchars и добавлено \0

P.S. в догонку
def nl2br(s):
return s.replace('\r', ‘').replace(’\n', ‘<br />’)



Офлайн

#9 Май 16, 2007 14:22:49

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

strip tags, BB-codes

В стандартной поставке django идет фильтр эскейпов. что мешает его использовать?



Офлайн

#10 Май 16, 2007 14:33:53

nerezus
От:
Зарегистрирован: 2006-08-01
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

strip tags, BB-codes

Daevaorn мм, не нашел… :) Вернее я нашел только | escape в шаблонах. Но я просто не хочу пользоваться Django'вскими шаблонами =)

А вот BB-парсеров нашел кучу. ВСЕ были крайнеубогие, не нашел ни одного без XSS =\ Так что BB-парсер ищется…



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version