Форум сайта python.su
Всем привет. Использую в модели класс TextField()
В нем хочу написать текст с несколькими абзацами. Но получается, что перевод каретки экранируется.
Вопрос такой (в БД смотрю, вроде тоже отсутствует \r\n и подобные вещи)
Посоветуйте, как заставить переходить на новую строку текст? Может я что-то не учел. В хелпе найти никак не могу…
Офлайн
Что-то плохо смотрели - не экранируются (наверное имелось в виду фильтруются?) эти элементы при вводе.
Экранируются элементы только при выводе.
Если вы показываете что-то через шаблон - тут надо смотреть. Ну и, конечно, не забывать что в вебе разметкой ведает html и обычные переносы там игнорируются.
Отредактировано (Дек. 29, 2009 17:52:08)
Офлайн
Хорошо. Тогда вопрос такой. Могу ли я и как обработать поле ввода текста?
То есть ввел я текст, нажал кнопку SAVE, но перед записью в БД могу ли я текст обработать своими функциями?
Офлайн
Офлайн
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#linebreaks
про “экранируется” ты не прав;)
Офлайн
Нет. Формы мне я так понимаю не подходят.
Я пока еще путаюсь. Спасает меня только опыт работы с перлом и свой собственный шаблонизатор.
Ввиду того, что пока я Python знаю УЖАСНО. Все же идея у меня такая.
Я данные ввожу из админки пока что. Поэтому хотел и в админке переопределить метод save (по идеи это метод)
Что я сделал
def save(self):
self.description = self.description.replace('\n', '<br/>')
super(BugPost, self).save()
Офлайн
slav0nic, я в шоке. Это так элементарно! Спасибо!
Офлайн