django_ckeditorfiles є CKEditor в комплекті як додаток Django.
Встановити
пункт встановити ckeditorfiles
Налаштування
Додати "ckeditorfiles 'і' django.contrib.staticfiles", щоб INSTALLED_APPS.
ckeditor.js
Весь вихідний код CKEditor в статичних / ckeditorfiles /. Це означає, що ви можете включити джерела в шаблонах, використовуючи:
{% Навантаження staticfiles%}
<Тип сценарію = "текст / JavaScript"
І NBSP; SRC = "{% статичну" ckeditorfiles / ckeditor.js "%}">
(Ви не повинні робити це, якщо ви використовуєте CKEditorWidget)
ckeditorfiles.widgets.CKEditorWidget
CKEditorWidget є підкласом django.forms.widgets.Textarea. Вона автоматично включає ckeditor.js, і додає:
<Тип сценарію = "текст / JavaScript">
І NBSP; CKEDITOR.replace (ID, конфігурації);
після текстового поля. ідентифікатор ідентифікатор текстової та налаштувань є параметр конфігурації конструктору віджета, зашифрованого як JSON.
Приклад
від Django форм імпортних
від ckeditorfiles.widgets імпорту CKEditorWidget
від моделей сторінці імпорту
клас PageForm (forms.ModelForm):
І NBSP; тіло = forms.CharField (віджет = CKEditorWidget (Config = {'Панель інструментів': 'Basic',
І NBSP; 'Висота': '300px'}))
І NBSP; клас Meta:
І NBSP; Модель = Page
Параметр конфігурації для CKEditorWidget є параметр конфігурації для CKEDITOR.replace (...). См: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Setting_Configurations.
Підклас CKEditorWidget
Ви можете створювати свої власні конфігурації CKEditor як багаторазових класів шляхом створення підкласу CKEditorWidget і забезпечити за замовчуванням в атрибуті класу default_config:
від ckeditorfiles.widgets імпорту CKEditorWidget
клас MyCKEditorWidget (CKEditorWidget):
І NBSP; default_config = {'Панель інструментів': 'Basic',
І NBSP; 'Висота': '300px'}
Атрибут класу default_config представлені значення за замовчуванням, які можуть бути перевизначені за допомогою параметра конфігурації для __init__, щоб ви могли перевизначити по висоті конфиг MyCKEditorWidget зразок цього:
Віджет = MyCKEditorWidget (Config = {'Висота': '100px'})
Вимоги
- Python
- Django
Коментар не знайдено