четверг, 20 сентября 2012 г.

Django. Установка wysiwyg редактора tinymce

Довольно часто возникает вопрос об использовании визуального редактора в формах сайта. Для django существует замечательный плагин django-tinymce. Ниже я перевел официальную документацию по установке и использованию. Ссылка на страницу плагина и сам плагин в конце статьи


Установка

Этот раздел описывает как установить tinymce в ваш django проект

Требования

Плагин требует Django версии 1.0 или выше. Так же вам нужен сам TinyMCE версии 3.0 или выше(хотя не понятно зачем, в плагине он же) и, если требуется, языковой пакет с нужными вам языками. Если вы используете django-filebrowser в своем проекте, то его можно использовать в tinymce, когда идет работа с каким-нибудь медиа контентом.
Если вы хотите использовать плагин для проверки орфографии, то вы должны поставить пакет PyEnchant и словари языка, требуемого для проекта. Заметье, что PyEnchant нужны словари в соответствии с вашим языковым кодом. Например, словарь для кода "en-us" не будет использован для "en" по умолчанию. Вы можете проверить доступность словарей PyEnchant для языкового кода "en" следующим куском Python-кода:
import enchant
enchant.dict_exists('en')

Установка

#. Поместите модуль tinymce в вашм Python Path. Вы можете положить его в папку вашего проекта или запустить "python setup.py install" из консоли, находясь в папке с плагином.
#. Скопируйте папку jscripts/tiny_mce из дистрибутива TinyMCE в папку с названием js, располагаемой в MEDIA_ROOT. Вы можете переписать расположение в настройках(см. ниже)
#. Если вы хотите использовать некоторые вьюхи(views), добавтье tinymce в список установленных приложений в settings.py и в urls.py:
settings.py:
INSTALLED_APPS = (
    ...
    'tinymce',
    ...
)
urls.py:
urlpatterns = patterns('',
    ...
    (r'^tinymce/', include('tinymce.urls')),
    ...
)

Конфигурация

Приложение может быть настроено редактированием файла settings.py в вашем проекте
TINYMCE_JS_URL (по умолчанию: settings.MEDIA_URL + 'js/tiny_mce/tiny_mce.js')
URL для javascript файла TinyMCE.
TINYMCE_JS_ROOT (по умолчанию: settings.MEDIA_ROOT + 'js/tiny_mce')
Корневой каталог javascript файлов TinyMCE.
TINYMCE_DEFAULT_CONFIG (по умолчанию: {'theme': "simple", 'relative_urls': False})
Стандартная конфигурация TinyMCE для использования. Смотрите руководство по TinyMCE для изучения всех возможностей. Что бы установить конфигурацию для какого-то экземпляра редактора в вашем проекте, обратитесь к параметру mce_attrs в модуле widget(при работе с формой в django).
TINYMCE_SPELLCHECKER (по умолчанию: False)
Нужно ли использовать проверку орфографии в редакторе. Для того, что бы использовать это, вы должны установить плагин для TinyMCE, который отвечает за эту возможность.
TINYMCE_COMPRESSOR (по умолчанию: False)
Следует ли использовать gzip сжатие для все javascript файлов. Это резко увеличивает скорость инициализации.
TINYMCE_FILEBROWSER (По умолчанию: True если 'filebrowser' есть INSTALLED_APPS, иначе следует установить в False)
Нужно ли использовать django-filebrowser для загрузки и прикрепления различных media файлов.
Пример конфигурации:
TINYMCE_JS_URL = 'http://debug.example.org/tiny_mce/tiny_mce_src.js'
TINYMCE_DEFAULT_CONFIG = {
    'plugins': "table,spellchecker,paste,searchreplace",
    'theme': "advanced",
}
TINYMCE_SPELLCHECKER = True
TINYMCE_COMPRESSOR = True
Вот и все. В следующем посте выложу перевод инструкции по подключению к форме и шаблонам.

Ссылки:

Домашняя страница проекта
Страница для скачивания

1 комментарий:

  1. Привет. Спасибо за статью!
    Подскажи пожалуйста, для чего в urls.py добавляем урлы?

    ОтветитьУдалить