Форум сайта python.su
Здравствуйте
Есть фильтр, который при выводе в темплейт текста фильтрует bb коды и проводит некоторые операции (например для картинки, смотрит ее размер и если он больше определенного размера, то вставляет ограничение на его размер и выдает тэг картинки). Это для вывода каждому человеку занимает процессорное время и задержка на отображение человеку. Думал при сохранении формы использовать тот же код что для тэга и в базу сохранять уже готовый Html, но тогда получается при выводе надо выводить все тэги, что небезопасно.
Можно ли сделать, что-то типа is_safe для тэга, но при сохранении формы? Не хотелось бы терять фильтрацию тэгов джанговскую
Отредактировано (Фев. 23, 2010 14:51:59)
Офлайн
aliensНичего не понятно. Вы пишите абслютно противоположные вещи. is_safe флаг снимает эскейпинг, а не наоборот.
Можно ли сделать, что-то типа is_safe для тэга, но при сохранении формы? Не хотелось бы терять фильтрацию тэгов джанговскую
Офлайн
Daevaorn
Ну именно так. Можно ли не тэгом снимать эскейпинг, а хранить в базе некоторые тэги без эскейпа, чтобы при выводе в темплейт он выводился как тэг?
Офлайн
В базе вы можете хранить что угодно. При выводе в шаблоне просто используйте фильтр safe, чтобы данные не эскейпились.
Офлайн
Daevaorn
Это я знаю, но тогда все данные не будут эскейпиться, что может плохо повлиять на вывод страницы (получается разрешены все html тэги). Единственное что придумал, это написат ьсвой фильтр safe, чтобы не эскейпить только некоторые тэги
Офлайн
aliensНе все, а только те которые вы пометили как safe. Вы не доверяете своей базе? Вы же уже туда складываете “хорошие” данные.
Это я знаю, но тогда все данные не будут эскейпиться, что может плохо повлиять на вывод страницы (получается разрешены все html тэги).
Офлайн
Daevaornладно, тему можно закрыть. Переделал немного по-другому
Не все, а только те которые вы пометили как safe. Вы не доверяете своей базе? Вы же уже туда складываете “хорошие” данные.
Офлайн