A django form widget for CLEditor (a super clean, MIT licensed WYSIWYG HTML editor) that handles uploading
Project description
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](https://github.com/yuchant/django-cleditor/raw/master/cleditor.png)
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:
```python
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`
```python
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.
```python
# urls.py
from cleditor.admin import cleditor_upload_handler
urlpatterns = patterns('',
(r'^my-upload-handler/$', cleditor_upload_handler, {'upload_to': 'my_upload_directory'}),
)
```
```python
# 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/
============
A simple django app that makes using an WYSIWYG editor (CLEditor) extremely easy.
Optionally includes a mixin that activates file upload handling.
![Screenshot](https://github.com/yuchant/django-cleditor/raw/master/cleditor.png)
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:
```python
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`
```python
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.
```python
# urls.py
from cleditor.admin import cleditor_upload_handler
urlpatterns = patterns('',
(r'^my-upload-handler/$', cleditor_upload_handler, {'upload_to': 'my_upload_directory'}),
)
```
```python
# 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/
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-cleditor-0.2.1.tar.gz
(1.3 MB
view details)
File details
Details for the file django-cleditor-0.2.1.tar.gz
.
File metadata
- Download URL: django-cleditor-0.2.1.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bad9de6c3f627ea7c3d89622cf1af6651f272b79f21b25a4eb191d441e534e4b |
|
MD5 | ec1f4120d752c2d4bbc16475653a3f00 |
|
BLAKE2b-256 | 833af67befaf231a3f4da2a930cf4ecc824c8fa7d0e6c7616231eee2247b521d |