django-wysiwyg-redactor is a lightweight responsive wysiwyg editor for Django
Project description
Screenshot
What’s that
django-wysiwyg-redactor is a reusable application for Django, using Redactor WYSIWYG editor
Sponsored by Mess Marketing, we use the latest version of redactorjs, always up-to-date.
Dependence
Django >= 1.3 # for static files
Pillow or PIL # for image upload
Getting started
Install django-wysiwyg-redactor:
`pip install django-wysiwyg-redactor`
Add ‘redactor’ to INSTALLED_APPS.
Add url(r’^redactor/’, include(‘redactor.urls’)), to urls.py
Add default config in settings.py
REDACTOR_OPTIONS = {'lang': 'en'}
REDACTOR_UPLOAD = 'uploads/'
More redactor settings.
Using in model
from django.db import models
from redactor.fields import RedactorField
class Entry(models.Model):
title = models.CharField(max_length=250, verbose_name=u'Title')
short_text = RedactorField(verbose_name=u'Text')
or use custom parametrs:
short_text = RedactorField(
verbose_name=u'Text',
redactor_options={'lang': 'en', 'focus': 'true'},
upload_to='tmp/',
allow_file_upload=True,
allow_image_upload=True
)
Using for only admin interface
from django import forms
from redactor.widgets import RedactorEditor
from blog.models import Entry
class EntryAdminForm(forms.ModelForm):
class Meta:
model = Entry
widgets = {
'short_text': RedactorEditor(),
}
class EntryAdmin(admin.ModelAdmin):
form = EntryAdminForm
RedactorEditor takes the same parameters as RedactorField.
Using Plugins
Download the plugin you want or create a custom plugin.
Then:
from django.db import models
from redactor.fields import RedactorField
class Entry(models.Model):
title = models.CharField(max_length=250, verbose_name=u'Title')
short_text = RedactorField(
verbose_name=u'Text',
# for example, if you downloaded the 'table' plugin:
redactor_options={'plugins': ['table']}
)
OR (on settings.py):
REDACTOR_OPTIONS = {'lang': 'en', 'plugins': ['table']}
Important: if you set a plugin called “table”, you must create/paste the “table.js” on YOUR_STATIC_FILES_FOLDER/redactor/plugins/table.js
Upload Handlers
SimpleUploader - The Standard Uploader. Will upload your file to REDACTOR_UPLOAD.
UUIDUploader - This handler will replace the original file name for an UUID.
DateDirectoryUploader - This handler saves the file in a directory based on the current server date.
Usage:
For example, if I want to use the DateDirectoryUploader handler, I will put this on settings.py:
REDACTOR_UPLOAD_HANDLER = 'redactor.handlers.DateDirectoryUploader'
File Storages
django-wysiwyg-redactor defaults to using the default media storage for your Django application.
This can be overriden to use a different storage backend with this settings.py variable:
REDACTOR_FILE_STORAGE = 'my_site.file_storages.storage_instance'
Information on writing a custom storage backend is here in the Django documentation.
Other third-party libraries exist to provide storage backends for cloud object storages (e.g. django-cumulus for Rackspace/OpenStack or django-storages for Amazon S3).
NOTE: Soon we will have a better documentation.
Contributing
Fork it!
Create your feature branch: git checkout -b my-new-feature
Commit your changes: git commit -am ‘Add some feature’
Push to the branch: git push origin my-new-feature
Submit a pull request =]
Who is behind this?
Awesome people, you should see the AUTHORS file.
And our awesome sponsor:
Mess Marketing from Chicago, IL jshedd@thisismess.com thisismess.com @etchalon
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.
Source Distribution
Hashes for django-wysiwyg-redactor-0.4.4.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b69bd9cc2410dba77fa6e7504a031738fde37db466a75b56893e537f396605fa |
|
MD5 | 2e42e5e1ee10f0f610ce56caf4dd148f |
|
BLAKE2b-256 | def9ac6377b475a4d5e4e9aaadb8570d19e85157bab68838b52808ea818668cb |