Socket
Socket
Sign inDemoInstall

django-cleditor

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    django-cleditor

A django form widget for CLEditor (a super clean, MIT licensed WYSIWYG HTML editor) that handles uploading


Maintainers
1

Readme

What is it?

A simple django app that makes using an WYSIWYG editor (CLEditor) extremely easy. Optionally includes a mixin that activates file upload handling.

Screenshot

Installation instructions

Download and add django-cleditor to your packages however you wish.

  • The easiest method is to use pip: pip install django-cleditor
  • Add cleditor to your INSTALLED_APPS
  • Run the python manage.py collectstatic management command to ... collect the static files.
  • Use cleditor.widgets.CLEditorWidget anywhere a django form widget is expected.
  • For admin upload handling subclass cleditor.admin.CLEditorUploadAdmin and use cleditor.widgets.CLEditorUploadWidget instead.

Usage instructions

Editor only

This package supplies a CLEditorWidget form widget in cleditor.widgets that you can use anywhere the django forms framework expects a widget.

To replace all textfields in a ModelAdmin with CLEditors simply paste two lines:

from django.db import models
from cleditor.widgets import CLEditorWidget

class MyModelAdmin(admin.ModelAdmin):
    formfield_overrides = { models.TextField: {'widget': CLEditorWidget()}}

Note: If you need finer control over which textfields get overriden, look into ModelAdmin.formfield_for_dbfield

You're done!

Easy admin upload handler

To allow users to upload via a the insert image widget, you must use the CLEditorUploadWidget widget and you must subclass the included ModelAdmin which adds a fully csrf protected upload handler to your admin site.

You can specify a new upload directory by adding an upload_to attribute to the ModelAdmin

from django.db import models
from cleditor.widgets import CLEditorUploadWidget
from cleditor.admin import CLEditorUploadAdmin

class MyModelAdmin(CLEditorUploadAdmin):
    # upload_to = 'cleditorupload/' # default 
    formfield_overrides = { models.TextField: {'widget': CLEditorUploadWidget()}}

Stand alone uploader (non admin)

To upload images without the admin panel, you'll have to map a URL to the upload handler and pass in your custom handler URL to the widget.

# urls.py

from cleditor.admin import cleditor_upload_handler

urlpatterns = patterns('',
	(r'^my-upload-handler/$', cleditor_upload_handler, {'upload_to': 'my_upload_directory'}),
)
# widget instantiation

class MyForm(forms.Form):
    myfield = forms.TextField(widget=CLEditorUploadAdmin(upload_url='path-to-my-upload-handler'))

Credits

  • Chris Landowski - original cleditor image upload plugin https://github.com/dmitry-dedukhin/cleditor-extimage-plugin

  • Dmitry Dedukhim - cleditor jquery plugin creator http://premiumsoftware.net/cleditor/

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc