Довольно часто возникает вопрос об использовании визуального редактора в формах сайта. Для django существует замечательный плагин django-tinymce. Ниже я перевел официальную документацию по установке и использованию. Ссылка на страницу плагина и сам плагин в конце статьи
Если вы хотите использовать плагин для проверки орфографии, то вы должны поставить пакет PyEnchant и словари языка, требуемого для проекта. Заметье, что PyEnchant нужны словари в соответствии с вашим языковым кодом. Например, словарь для кода "en-us" не будет использован для "en" по умолчанию. Вы можете проверить доступность словарей PyEnchant для языкового кода "en" следующим куском Python-кода:
#. Скопируйте папку jscripts/tiny_mce из дистрибутива TinyMCE в папку с названием js, располагаемой в MEDIA_ROOT. Вы можете переписать расположение в настройках(см. ниже)
#. Если вы хотите использовать некоторые вьюхи(views), добавтье tinymce в список установленных приложений в settings.py и в urls.py:
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 в ваш 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Вот и все. В следующем посте выложу перевод инструкции по подключению к форме и шаблонам.
Ссылки:
Домашняя страница проектаСтраница для скачивания
Привет. Спасибо за статью!
ОтветитьУдалитьПодскажи пожалуйста, для чего в urls.py добавляем урлы?