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


Release history Release notifications

This version
History Node

1.1.1

History Node

1.1

History Node

0.24

History Node

0.23

History Node

0.22

History Node

0.21

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-nicedit-1.1.1.tar.gz (34.4 kB) Copy SHA256 hash SHA256 Source None May 26, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page