Django admin CKEditor integration.
Project description
Django admin CKEditor integration.
Provides a RichTextField and CKEditorWidget utilizing CKEditor with image upload and browsing support included.
Installation
Install or add django-ckeditor to your python path.
Add ckeditor to your INSTALLED_APPS setting.
Copy the media/ckeditor directory into any directory within your media root. You can override the location in your settings (see below).
Add a CKEDITOR_MEDIA_PREFIX setting to the project’s settings.py file. This setting specifies a URL prefix to the ckeditor JS and CSS media (not uploaded media). Make sure to use a trailing slash:
CKEDITOR_MEDIA_PREFIX = "/media/ckeditor/"
Add a CKEDITOR_UPLOAD_PATH setting to the project’s settings.py file. This setting specifies an absolute path to your ckeditor media upload directory. Make sure you have write permissions for the path, i.e.:
CKEDITOR_UPLOAD_PATH = "/home/media/media.lawrence.com/uploads"
Add ckeditor url include to the project’s url.py file:
(r'^ckeditor/', include('ckeditor.urls')),
Optionally, add a CKEDITOR_UPLOAD_PREFIX setting to the project’s settings.py file. This setting specifies a URL prefix to media uploaded through ckeditor, i.e.:
CKEDITOR_UPLOAD_PREFIX = "http://media.lawrence.com/media/ckuploads/
(If CKEDITOR_UPLOAD_PREFIX is not provided, the media URL will fall back to MEDIA_URL with the difference of MEDIA_ROOT and CKEDITOR_UPLOAD_PATH appended.)
Usage
Field
The quickest way to add rich text editing capabilities to your models is to use the included RichTextField model field type. A CKEditor widget is rendered as the form field but in all other regards the field behaves as the standard Django TextField. For example:
from django.db import models from ckeditor.fields import RichTextField class Post(models.Model): content = RichTextField()
Widget
Alernatively you can use the included CKEditorWidget as the widget for a formfield. For example:
from django import forms from django.contrib import admin from ckeditor.widgets import CKEditorWidget from post.models import Post class PostAdminForm(forms.ModelForm): content = forms.CharField(widget=CKEditorWidget()) class Meta: model = Post class PostAdmin(admin.ModelAdmin): form = PostAdminForm admin.site.register(Post, PostAdmin)
ChangeLog
0.0.1
Added CKEDITOR_UPLOAD_PREFIX setting. Thanks to chr15m for the input.
0.0.2
Included README.rst in manifest.
0.0.3
More robust PIL import, thanks Dusty Phillips.
Better CKEDITOR_MEDIA_PREFIX setting error.
0.0.4
Include resources, sorry about that.
0.0.5
csrf_exempt backwards compatability. Thanks chr15m for the patch.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.