skip to navigation
skip to content

djangocms-text-ckeditor 2.0.1

Text Plugin for django CMS with CKEditor support

Latest Version: 3.3.1


Text Plugin for django-cms with CK-Editor

``cms.plugins.text`` and ``djangocms-text-ckeditor`` can't be used at the same time.

For django CMS 2.3 and 2.4 use ``djangocms-text-ckeditor`` < 2 (e.g.: version 1.0.10).

``djangocms-text-ckeditor`` >= 2 is compatible with django CMS 3 only.


This plugin requires `django CMS` 2.3 or higher to be properly installed.

* In your projects `virtualenv`_, run ``pip install djangocms-text-ckeditor``.
* Add ``'djangocms_text_ckeditor'`` to your ``INSTALLED_APPS`` setting **BEFORE** the ``cms`` entry.
* Run `` migrate djangocms_text_ckeditor``.

Upgrading from ``cms.plugins.text``

* Remove ``cms.plugins.text`` from ``INSTALLED_APPS``
* Add ``djangocms_text_ckeditor`` to ``INSTALLED_APPS``
* Run ``python migrate djangocms_text_ckeditor 0001 --fake``


You can add a new setting to your called `CKEDITOR_SETTINGS`

the default is::

'language': '{{ language }}',
'toolbar': 'CMS',
'skin': 'moono'

It is a dict that hold all CKEditor settings. For an overview of all the available settings have a look here: for all settings

If you want to use the ckeditor in your own models there is a HTMLField in djangocms_text_ckeditor.fields.

Drag & Drop Images

In IE and Firefox based browsers it is possible to drag and drop a picture into the text editor.
This image is base64 encoded and lives in the 'src' attribute as a 'data' tag.

We detect this images, encode them and convert them to picture plugins.
If you want to overwirite this behavior for your own picture plugin:

There is a setting called:

`TEXT_SAVE_IMAGE_FUNCTION = 'djangocms_text_ckeditor.picture_save.create_picture_plugin'`

you can overwrite this setting in your and point it to a function that handles image saves.
Have a look at the function `create_picture_plugin` for details.


If you want to help translate the plugin please do it on transifex:

Usage as a model field

If you want to use the widget on your own model fields, you can! Just import the provided ``HTMLField`` like so:


from djangocms_text_ckeditor.fields import HTMLField

And use it in your models, just like a TextField:


class MyModel(models.Model):
myfield = HTMLField(blank=True)

If you are using South migrations, you might need to add an inspection rule:


from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ['^djangocms_text_ckeditor\.fields\.HTMLField'])
except ImportError:

Extending the plugin

.. NOTE::
Added in version (still unreleased)

You can use this plugin as base to create your own CKEditor-based plugins.

You need to create your own plugin model extending ``AbstractClass``:


from djangocms_text_ckeditor.models import AbstractText

class MyTextModel(AbstractText):
title = models.CharField(max_length=100)

and a plugin class extending ``TextPlugin`` class:


from djangocms_text_ckeditor.cms_plugins import TextPlugin
from .models import MyTextModel

class MyTextPlugin(TextPlugin):
name = _(u"My text plugin")
model = MyTextModel

You can further customize your plugin as other plugins:  
File Type Py Version Uploaded on Size
djangocms-text-ckeditor-2.0.1.tar.gz (md5) Source 2013-08-12 1MB