TinyMCE + Django
Автор: admin. 06 Янв 2009 в 19:53
При написании блога появилась необходимость в WYSIWYG редактор. По субьективным причинам мною был выбран TinyMCE.
Итак для установки указанного редактора в админку Django нам необходимо скачать следующее:
- собственно редактор
- виджет
Естественно подразумевается что Django у Вас уже стоит.
Распаковываем django-tinymce и устанавливаем как обычное python приложение
python setup.py install
Далее распаковываем TinyMCE, заходим в tinymce/jscripts и копируем папочку tiny_mce в /usr/lib/python2.5/site-packages/django/contrib/admin/media/js/
(для Windows это скорее всего будет “C:\\python25\lib\site-packages\django\…. “)
Теперь добавляем модель которую в дальнейшем будет редактировать с помощью TinyMCE:
from django.db import models
from tinymce import models as tinymce_models
class MyModel(models.Model):
myField=tinymce_model.HTMLField()
Таким образом мы создали поле абсолютно идентичное полю TextField, но с так необходимым нам редактором.
Теперь необходимо отредактировать settings.py и добавить следующие строки:
INSTALLED_APPS= (
…
‘tinymce’,
…
)
# указываем где искать исходник редактора
TINYMCE_JS_URL=’http://example.org/media/js/tiny_mce/tiny_mce_src.js’
# здесь настраиваем tinymce
TINYMCE_DEFAULT_CONFIG={
‘theme’: “advanced”,
‘mode’: “textareas”,
}
теперь лезем в urls.py и добавляем такое:
(r’^tinymce/’,include(’tinymce.urls’)),
вообщем-то все )))
PS: это один из множества вариантов добавления редактора в админку Django, лично мне он показался самым простым и быстрореализуемым. И он ни в коем случае не притендует на какое либо руководство.
Взято с http://scarface.org.ua/page/8/
Популярность: 85%
Вместо from tinymce import models as tinymce_models надо
from tinymce import models as tinymce_model
всё работает, всё хорошо, но вот только проблема в том, что при отображении все html тэги заменяются на специальные символы, а в итоге вся верстка летит и контент отображается как будто его взяли в тэги
. Как избежать такую проблему? Может надо подшаманить что-то в шаблонах?надо при отображении поста поставить фильтр |safe, тогда он будет воспринимать html теги как положено, а не как текст