Giter VIP home page Giter VIP logo

django-wysiwyg-redactor's Introduction

A lightweight wysiwyg editor for Django

Downloads

Some changes:

  • redactorjs 7.6.3 (changes the [license](#license) too)
  • new API methods
    • $('#redactor').getSelection() get the selected content in editor
    • $('#redactor').getSettings() you can get and set settings anytime you want
  • removing some ajax calls, (modal windows), to avoid the crossdomain issue on production env
  • with the extra_script option/setting you can load some script to do something more after load the redactor
  • now the redactor toolbar is more responsive
  • fixing some bugs, adapting things...

Screenshot

image

What's that

django-wysiwyg-redactor is a reusable application for Django, using Redactor WYSIWYG editor

Dependence

  • Django >= 1.3 # for static files
  • 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 (fot more settings, see here)
REDACTOR_OPTIONS = {'lang': 'en'}
REDACTOR_UPLOAD = 'uploads/'

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

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

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request =]

History

  • 0.3.9.1 Jun 06, 2014
    • Added: Support for custom REDACTOR_FILE_STORAGE ( pull #45 #46 ) Thanks to @pztrick
  • 0.3.9 Mar 29, 2014
    • New Feature: Upload Handler (pull #43) Special Thanks to @SilentSokolov
    • Fix unicode filename issue.
  • 0.3.8.2 Feb 14, 2014
    • Improvement: Rename uploaded image by dint of uuid ( pull #33 )
  • 0.3.8.1 Feb 13, 2014
    • Fix: Solve Deprecation of 'simplejson' ( pull #25 )
  • previous versions
    • Lots of fixes, see the commits.

Who is behind this?

Awesome people, you should see the AUTHORS file.

License

Starting with version 7.6.3 redactor-js is licensed under Creative Commons Attribution-NonCommercial 3.0 license

If you want to use a newer version please buy license here

django-wysiwyg-redactor's People

Contributors

allisson avatar avelino avatar caioariede avatar danielfttorres avatar diegoyungh avatar douglasmiranda avatar etchalon avatar gutofoletto avatar igorakintev avatar mbi avatar nabucosound avatar pztrick avatar silentsokolov avatar tigorc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.