Package: django-ckeditor-updated
Django CKEditor===============* riklaunim / django-ckeditor is on PyPi as https://pypi.python.org/pypi/django-ckeditor-updated - latest code, works with latest Django* shaunsephton / django-ckeditor is on PyPi as https://pypi.python.org/pypi/django-ckeditor - still old release not compatible with newer Django versions**This fork, django-ckeditor-updated, has different configuration than the old django ckeditor. All of my changes were recently merged to shaunsephton repositorybut they havent been released yet as a package. Until django-ckeditor won't get new and constant releases I'be maintaining this fork.*****Django admin CKEditor integration.**Provides a ``RichTextField`` and ``CKEditorWidget`` utilizing CKEditor with image upload and browsing support included.* This version also includes:#. support to django-storages (works with S3)#. updated ckeditor to version 4.4#. included all ckeditor language files to made everyone happy!.. contents:: Contents:depth: 5Installation------------Required~~~~~~~~#. Install or add django-ckeditor-updated to your python path. Note: You may not have the original django-ckeditor and django-ckeditor-updated installed at the same time.#. Add ``ckeditor`` to your ``INSTALLED_APPS`` setting.#. Add a CKEDITOR_UPLOAD_PATH setting to the project's ``settings.py`` file. This setting specifies an relative path to your CKEditor media upload directory. CKEditor uses Django storage API. By default Django uses file system storage backend (it will use your MEDIA_ROOT and MEDIA_URL) and if you don't use different backend you have to have write permissions for the CKEDITOR_UPLOAD_PATH path within MEDIA_ROOT, i.e.::CKEDITOR_UPLOAD_PATH = "uploads/"For the default file system storage images will be uploaded to "uploads" folder in your MEDIA_ROOT and urls will be created against MEDIA_URL (/media/uploads/image.jpg).CKEditor has been tested with django FileSystemStorage and S3BotoStorage.There are issues using S3Storage from django-storages.#. Run the ``collectstatic`` management command: ``$ /manage.py collectstatic``. This'll copy static CKEditor require media resources into the directory given by the ``STATIC_ROOT`` setting. See `Django's documentation on managing static files <https://docs.djangoproject.com/en/dev/howto/static-files>`_ for more info.#. Add CKEditor URL include to your project's ``urls.py`` file::(r'^ckeditor/', include('ckeditor.urls')),#. Set ``CKEDITOR_IMAGE_BACKEND`` to one of supported backends to enable thumbnails in ckeditor gallery. By default no thumbnails are created and full size images are used as preview. Supported backends:- ``pillow``: uses PIL or Pillow#. django-ckeditor uses jQuery in ckeditor-init.js file. You must set ``CKEDITOR_JQUERY_URL`` to a jQuery URL that will be used to load the library. If you have jQuery loaded from a different source just don't set this variable and django-ckeditor will not try to load its own jQuery. Example::CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'Optional~~~~~~~~#. All uploaded files are slugified by defaults, to disable this feature set ``CKEDITOR_UPLOAD_SLUGIFY_FILENAME`` to ``False``#. Set the CKEDITOR_RESTRICT_BY_USER setting to ``True`` in the project's ``settings.py`` file (default ``False``). This restricts access to uploaded images to the uploading user (e.g. each user only sees and uploads their own images). Superusers can still see all images. **NOTE**: This restriction is only enforced within the CKEditor media browser.#. Add a CKEDITOR_CONFIGS setting to the project's ``settings.py`` file. This specifies sets of CKEditor settings that are passed to CKEditor (see CKEditor's `Setting Configurations <http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Setting_Configurations>`_), i.e.::CKEDITOR_CONFIGS = {'awesome_ckeditor': {'toolbar': 'Basic',},}The name of the settings can be referenced when instantiating a RichTextField::content = RichTextField(config_name='awesome_ckeditor')The name of the settings can be referenced when instantiating a CKEditorWidget::widget = CKEditorWidget(config_name='awesome_ckeditor')By specifying a set named ``default`` you'll be applying its settings to all RichTextField and CKEditorWidget objects for which ``config_name`` has not been explicitly defined ::CKEDITOR_CONFIGS = {'default': {'toolbar': 'Full','height': 300,'width': 300,},}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 modelsfrom ckeditor.fields import RichTextFieldclass Post(models.Model):content = RichTextField()Widget~~~~~~Alernatively you can use the included ``CKEditorWidget`` as the widget for a formfield. For example::from django import formsfrom django.contrib import adminfrom ckeditor.widgets import CKEditorWidgetfrom post.models import Postclass PostAdminForm(forms.ModelForm):content = forms.CharField(widget=CKEditorWidget())class Meta:model = Postclass PostAdmin(admin.ModelAdmin):form = PostAdminFormadmin.site.register(Post, PostAdmin)Managment Commands~~~~~~~~~~~~~~~~~~Included is a management command to create thumbnails for images already contained in ``CKEDITOR_UPLOAD_PATH``. This is useful to create thumbnails when starting to use django-ckeditor with existing images. Issue the command as follows::$ ./manage.py generateckeditorthumbnails**NOTE**: If you're using custom views remember to include ckeditor.js in your form's media either through ``{{ form.media }}`` or through a ``<script>`` tag. Admin will do this for you automatically. See `Django's Form Media docs <http://docs.djangoproject.com/en/dev/topics/forms/media/>`_ for more info.Using S3~~~~~~~~See http://django-storages.readthedocs.org/en/latest/If you want to use allowedContent~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~To allowedContent works, disable **stylesheetparser** plugin.So included this on your settings.py.CKEDITOR_CONFIGS = {"default": {"removePlugins": "stylesheetparser",}}Demo / Test application~~~~~~~~~~~~~~~~~~~~~~~If you clone the repository you will be able to run the ``ckeditor_demo`` application.#. ``pip install -r ckeditor_demo_requirements.txt``#. Run ``python.manage.py syncdb``#. Create a superuser if you want to test the widget in the admin panel#. Start the development server.There is a forms.Form on main page (/) and a model in admin that uses the widget for a model field.Database is set to sqlite3 and STATIC/MEDIA_ROOT to folders in temporary directory.Running selenium test~~~~~~~~~~~~~~~~~~~~~You can run the test with ``python manage.py test ckeditor_demo`` (for repo checkout only) or with ``tox`` which is configured to run with Python 2.7 and 3.3.(You may have to fix some imports in selenium webdriver for Python 3.3).AUTHORS=======This fork----------#. `riklaunim <https://github.com/riklaunim>`_Created By----------#. `shaunsephton <http://github.com/shaunsephton>`_Contributors------------#. `3point2 <https://github.com/3point2>`_#. `buchuki <http://github.com/buchuki>`_#. `chr15m <http://github.com/chr15m>`_#. `hedleyroos <https://github.com/hedleyroos>`_#. `jeffh <https://github.com/jeffh>`_#. `lihan <https://github.com/lihan>`_#. `loop0 <http://github.com/loop0>`_#. `mwcz <https://github.com/mwcz>`_#. `tomwys <https://github.com/tomwys>`_#. `snbuback <https://github.com/snbuback>`_#. And others `<https://github.com/**/django-ckeditor/graphs/contributors>`_Changelog=========4.4.4-----#. Update CKEditor to 4.4.4 full package - for all plugins and static files you may need#. Fixes for inline editor#. Editor initialisation uses jQuery. You need to specify CKEDITOR_JQUERY_URL for it to work. You can use::CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'4.4.0-----#. Update CKEditor to 4.4.1#. Django 1.7 compatibility fix4.2.8-----#. Update CKEditor to 4.3.34.2.7-----#. Fix slugifying to empty filename if only bad characters given in filename. Use random string as fallback.#. Don't use IMG tags for non image files in ckeditor file browser.#. Remove non-existing image reference from CSS files that broke collectstatic.#. Misc fixes4.2.5 / 4.2.6-------------#. Fix static files installation - switch from distutils to setuptools4.2.4-----#. Added new demo application with selenium integration test#. tox setup for Python 3.3 and 2.7 testing#. Extracted image processing to backends. PIL/Pillow is optional now. Other backends can be added.#. Fixed a bug with thumbnail generation4.2.3-----#. Python 3.3 compatibility#. All uploaded files are slugified by default (New settings CKEDITOR_SLUGIFY_FILENAME)#. Upload file when editing a link (<a href>) now works properly4.2.2-----#. Python 3.3 compatibility in widgets.py4.2.1-----#. Include CKEditor version 4.2.1.#. Support Django 1.64.0.2-----#. Include CKEditor version 4.0.2.3.6.2.1-------#. Remove unwanted static files from distribution.#. Use Pillow instead of PIL since it builds on all systems.3.6.2-----#. Include CKEditor version 3.6.2.#. Initial work on Django aligned theme.#. Fix schema slash removal issue on media url generation. Thanks `mwcz <https://github.com/mwcz>`_#. Added compatibility for South. Thanks `3point2 <https://github.com/3point2>`_#. Prevented settings from leaking between widget instances. Thanks `3point2 <https://github.com/3point2>`_#. Fixed config_name conflict when verbose_name is used as first positional argument for a field. Thanks `3point2 <https://github.com/3point2>`_#. Refactored views to allow use of file walking with local paths. Thanks `3point2 <https://github.com/3point2>`_#. Added command to generate thumbnails. Thanks `3point2 <https://github.com/3point2>`_#. Migrated from using media to static file management.0.0.9-----#. Added ability to configure CKeditor through a CKEDITOR_CONFIGS settings. Thanks `jeffh <https://github.com/jeffh>`_ for the input.0.0.8-----#. Removed buggy url include check.0.0.7-----#. Egg package corrected to exclude testing admin.py and models.py.0.0.6-----#. Enforce correct configuration.#. Changed upload behavior to separate files into directories by upload date. Thanks `loop0 <http://github.com/loop0>`_ .#. Added ability to limit user access to uploaded content (see the CKEDITOR_RESTRICT_BY_USER setting). Thanks `chr15m <http://github.com/chr15m>`_ for the input.#. Added initial set of much needed tests.#. General cleanup, light refactor.0.0.5-----#. csrf_exempt backwards compatability. Thanks `chr15m <http://github.com/chr15m>`_ .0.0.4-----#. Include resources, sorry about that.0.0.3-----#. More robust PIL import. Thanks `buchuki <http://github.com/buchuki>`_ .#. Better CKEDITOR_MEDIA_PREFIX setting error.0.0.2-----#. Included README.rst in manifest.0.0.1-----#. Added CKEDITOR_UPLOAD_PREFIX setting. Thanks `chr15m <http://github.com/chr15m>`_ for the input.