Skip to main content

Nicedit widget for django with image upload feature.

Project description

NicEdit widget for django with image upload feature.

NicEdit home: http://nicedit.com/

Blog post: NicEdit widget for Django

Versions

0.23 - use with Django<1.6

0.24 - use with Django==1.6

1.1 - use with Django>=1.7

Installation

To get the latest stable release from PyPi

$ pip install django-nicedit

To get the latest commit from GitHub

$ pip install -e git+git://github.com/nanvel/django-nicedit.git#egg=nicedit

Add nicedit to your INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'nicedit',
)

Add the nicedit URLs to your urls.py

urlpatterns = patterns('',
    ...
    url(r'^nicedit/', include('nicedit.urls')),
)

Don’t forget to migrate your database

python manage.py migrate nicedit

MEDIA_ROOT should be specified, example:

MEDIA_ROOT = os.path.join(os.path.dirname('__file__'), '../media')
MEDIA_URL = '/media/'

Add to urls configuration:

from django.conf.urls.static import static
from django.conf import settings

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Usage

forms.py:

from django import forms

from nicedit.widgets import NicEditWidget


class MessageForm(forms.Form):
    message = forms.CharField(
        widget=NicEditWidget(attrs={'style': 'width: 800px;'})
    )

views.py:

from django.shortcuts import render

from .forms import MessageForm


def home(request):
    form = MessageForm()
    return render(request, 'home.html', {'form': form})

template:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>NicEdit widget</title>
    {{ form.media }}
  </head>
  <body>
    <form action='.' method='post'>
      {% csrf_token %}
      {{ form.message }}
      <button type="submit">Submit</button>
    </form>
  </body>
</html>

See testproject for example.

Usage in admin:

# -*- coding: utf-8 -*-
from django import forms
from django.contrib import admin

from nicedit.widgets import NicEditAdminWidget

from .models import Item


class ItemAdminForm(forms.ModelForm):

    class Meta:
        model = Item
        widgets = {
            'text': NicEditAdminWidget(
                attrs={'style': 'width: 610px;'},
                js_options={"buttonList": [
                    'save', 'bold', 'italic', 'underline', 'left', 'center',
                    'right', 'justify', 'ol', 'ul', 'fontSize',  # 'fontFamily',
                    'fontFormat', 'indent', 'outdent', 'image', 'upload', 'link',
                    'unlink', 'forecolor', 'bgcolor', 'xhtml']
                }
            )
        }


class ItemAdmin(admin.ModelAdmin):

    form = ItemAdminForm

Contribute

If you want to contribute to this project, please perform the following steps

# Fork this repository
# Clone your fork
$ virtualenv .env --no-site-packages
$ source .env/bin/activate
$ python setup.py install
$ pip install -r test_requirements.txt

$ git co -b feature_branch master
# Implement your feature and tests
$ git add . && git commit
$ git push -u origin feature_branch
# Send us a pull request for your feature branch

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-nicedit-1.1.1.tar.gz (34.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page