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.