Giter Club home page Giter Club logo

django-redator's Introduction

Django Redator

(Fork from https://bitbucket.org/semente/django-redator/ where django-redator is no longer supported!)

Django Redator (sic) is a application for the Django Web Framework to help you integrate Redactor, a beautiful and easy-to-use WYSIWYG HTML editor, into your projects.

Installing & Setup

Redator is available on Python Package Index (PyPI) so you can easily install the latest stable version of it using pip:

pip instal django-redator

On your Django project you must add redator to your INSTALLED_APPS and configure your urls.py:

url(r'^_redator/', include('redator.urls', namespace='redactor', app_name='redator')),

You also have to create the database tables:

python manage.py syncdb --migrate

You can change the default settings by editing yours project settings.py:

REDATOR_UPLOAD_TO = 'redator/%Y-%m/'
REDATOR_REDACTOR_OPTIONS = {
  'autoresize': False,
  'cleanup': True,
  'lang': 'en',
  'wym': True,
}

Redactor

Unfortunately Redactor is not a Software Libre, so we could not pack it into this application. You have to get it at http://imperavi.com/redactor/download/ and copy the directory containing the files redactor.min.js and redactor.css to some directory specified at your STATICFILES_DIRS setting.

(Make sure you are able to access Redactor files on URL {{ STATIC_URL }}redactor/.)

How-To

Forms

Using it together your Django forms is easy as using a custom CharField widget:

from django import forms
from redator.widgets import RedactorEditor

class PostForm(forms.Form):
    title = forms.CharField()
    body = forms.CharField(widget=RedactorEditor(
          # redactor_options={
          #     'wym': False,
          #     'autoresize': True,
          # }
      ))

Remember to render the media assets in your HTML template:

{{ form.media }}
{{ form }}

Admin

Django Redator also provides a widget to you use on ModelAdmin. It just add some CSS rules to display it better on Admin:

from redator.widgets import RedactorEditorAdmin

class MyModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        TextField: {'widget': RedactorEditorAdmin(
            attrs={'rows': 24}
        )},
    }

    class Media:
        js = ('//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js',)

Troubleshooting and Known Issues

1. If the images you just uploaded are not showing on Redactor tab "Choose" from "Insert Image" modal, you might have to disable the cache of jQuery Ajax requests:

<script type="text/javascript">
 $(document).ready(function() {
   $.ajaxSetup({ cache: false });
 });
</script>

License

Django Redator

Copyright (c) 2012-, Guilherme Gondim
Copyright (c) 2010-2012 Vladimir Sidorenko

Django Redator is Software Libre; you can redistribute it and/or modify it under the terms of the BSD (3-clause) License.

You should have received a copy of the BSD License along with this program; see the file LICENSE.

Redactor

Redactor itself is created by Imperavi. You can read about it's licensing at http://imperavi.com/redactor/.

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.