Форум сайта python.su
LexanderПоддерживаю вопрос с дополнением:
А в какое место результирующей страницы выводится JavaScript?
Отредактировано owlman (Июнь 19, 2012 20:31:19)
Офлайн
Хреново…
Хоть код и красивый, но результат плохой.
Офлайн
owlmanLexanderПоддерживаю вопрос с дополнением:
А в какое место результирующей страницы выводится JavaScript?Код JavaScript попадает в <head></head>? или куда?(Вопрос благодаря fashust снят)
И как быть если редактор нужен только в одном поле из модели, а TextField`сов несколько?
import this
Офлайн
Главное что удалось подключить js файлы, а там уже просто можно дописать пару функций Jquery для нужного поля.
Офлайн
owlmanМожно написать своё поле с кастомным виджетом:
И как быть если редактор нужен только в одном поле из модели, а TextField`сов несколько?
class WidgetWYSIWYG(Textarea): def __init__(self, *args, **kwargs): super(WidgetWYSIWYG, self).__init__(attrs={'class': 'wysiwygEditor'}, *args, **kwargs) class Media: js = ( 'admin/tinymce/jscripts/tiny_mce/tiny_mce.js', 'admin/tinymce/jscripts/textareas.js', ) class WYSIWYGField(Field): def get_internal_type(self): return "TextField" def formfield(self, **kwargs): defaults = {'widget': WidgetWYSIWYG} defaults.update(kwargs) return super(WYSIWYGField, self).formfield(**defaults)
mode : "specific_textareas", editor_selector : "wysiwygEditor",
Офлайн
magnet85owlmanМожно написать своё поле с кастомным виджетом:
И как быть если редактор нужен только в одном поле из модели, а TextField`сов несколько?На примере TinyMCE:class WidgetWYSIWYG(Textarea): def __init__(self, *args, **kwargs): super(WidgetWYSIWYG, self).__init__(attrs={'class': 'wysiwygEditor'}, *args, **kwargs) class Media: js = ( 'admin/tinymce/jscripts/tiny_mce/tiny_mce.js', 'admin/tinymce/jscripts/textareas.js', ) class WYSIWYGField(Field): def get_internal_type(self): return "TextField" def formfield(self, **kwargs): defaults = {'widget': WidgetWYSIWYG} defaults.update(kwargs) return super(WYSIWYGField, self).formfield(**defaults)
В скрипте инициализации указывать:И в моделях указывать не TextField а WYSIWYGField.mode : "specific_textareas", editor_selector : "wysiwygEditor",
Офлайн
Для tinymce существует готовое django-приложение: django-tinymce
Офлайн