CKEditor bundled as a Django app.
This is a fork from https://github.com/espenak/django_ckeditorfiles which has a few changes:
- Change to the default ckeditor image plugin to add figure and figcaption support
- Fix to using CKEditro in inlines
Install
$ pip install django_ckeditor_improved
Screenshots
Figure with Figcaption Dialog:
Set Up
#settings.py
- Image picker set up at /admin/media/imagepicker/
- Custom ckeditor css file loaded from /static/admin/ckeditor.css
CKEDITOR_BASIC = {
'skin': 'moono',
'toolbar_Basic': [
['Source', '-', 'Bold', 'Italic']
],
'toolbar_Full': [
['Format', 'Bold', 'Italic', 'Underline', 'Strike', 'Subscript','Superscript','SpellChecker', 'SpecialChar', 'Undo', 'Redo'],
['NumberedList', 'BulletedList', 'Blockquote'],
['Link', 'Unlink', 'Anchor'],
['Image', 'Iframe','Flash', 'Table', 'HorizontalRule', 'PageBreak'],
['PasteText', 'PasteFromWord', 'RemoveFormat'],
['showblocks', 'Source', 'Maximize'],
],
'extraPlugins': 'magicline',
'magicline_everywhere': 'true',
'magicline_color': '#4fb2d3',
'toolbar': 'Full',
'height': 600,
'width': 1000,
'filebrowserWindowWidth': 940,
'filebrowserWindowHeight': 725,
'filebrowserImageBrowseUrl': '/admin/media/imagepicker/',
'forcePasteAsPlainText' : 'true',
}
#admin.py
class PageAdmin(admin.ModelAdmin):
form = PageForm
#forms.py
from django.conf import settings
from ckeditorfiles.widgets import CKEditorWidget
class PageForm(forms.ModelForm):
class Meta:
model = Page
widgets = {
'content': CKEditorWidget(config=settings.CKEDITOR_BASIC)
}
See https://github.com/espenak/django_ckeditorfiles for further setup and configuration instructions