Skip to main content

django-quill-editor

PyPI version

django-quill-editor makes Quill.js easy to use on Django Forms and admin sites

  • No configuration required for static files!
  • The entire code for inserting WYSIWYG editor is less than 30 lines
  • It can be used in both admin and Django views

django-quill-editor

Setup

  • Install django-quill-editor to your Python environment

    pip install django-quill-editor
    
  • Add django_quill to INSTALLED_APPS in settings.py

    # settings.py
    INSTALLED_APPS = [
        'django.contrib.admin',
        ...
        'django_quill',
    ]
    

Run Sample project

Repo: django-quill-editor-sample

# Clone repo
git clone https://github.com/LeeHanYeong/django-quill-editor-sample
cd django-quill-editor-sample

# Create virtualenv (I used pyenv, but you can use other methods)
pyenv virtualenv 3.7.5 django-quill
pyenv local django-quill

# Install Python packages
pip install -r requirements.txt
python app/manage.py runserver

Usage

Add QuillField to the Model class you want to use

# models.py
from django.db import models
from django_quill.fields import QuillField

class QuillPost(models.Model):
    content = QuillField()

1. Django admin

Just register the Model in admin.py of the app.

from django.contrib import admin
from .models import QuillPost

@admin.register(QuillPost)
class QuillPostAdmin(admin.ModelAdmin):
    pass

admin-sample

2. Form

  • Add QuillFormField to the Form class you want to use

  • There are two ways to add CSS and JS files to a template.

    • If there is a Form with QuillField added, add {{ form.media }} to the <head> tag.

      <head>
          {{ form.media }}
      </head>
      
    • Or, import CSS and JS files directly using {% include %} template tags.

      <head>
          <!-- django-quill-editor Media -->
          {% include 'django_quill/media.html' %}
      </head>
      
# forms.py
from django import forms
from django_quill.forms import QuillFormField

class QuillFieldForm(forms.Form):
    content = QuillFormField()
# views.py
from django.shortcuts import render
from .forms import QuillFieldForm

def form(request):
    return render(request, 'form.html', {'form': QuillFieldForm()})
<!-- Template -->
<form action="" method="POST">{% csrf_token %}
    {{ form.content }}
</form>

3. ModelForm

Just define and use ModelForm of Model class

# forms.py
from django import forms
from .models import QuillPost

class QuillPostForm(forms.ModelForm):
    class Meta:
        model = QuillPost
        fields = (
            'content',
        )
# views.py
from django.shortcuts import render
from .forms import QuillPostForm

def model_form(request):
    return render(request, 'model_form.html', {'form': QuillPostForm()})
<!-- Template -->
<form action="" method="POST">{% csrf_token %}
    {{ form.content }}
</form>

Form, ModelForm's Output:

form-sample

Contributing

As an open source project, we welcome contributions. The code lives on GitHub

Release files for django-quill-editor 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-quill-editor 0.1.11
File Size Uploaded
django-quill-editor-0.1.11.tar.gz 453.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-quill-editor 0.1.11
File Interpreter ABI Platform
django_quill_editor-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size:916.0 kB

Release files / django-quill-editor-0.1.11.tar.gz

Download URL django-quill-editor-0.1.11.tar.gz
Size 453.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c985009eb8b8cc347870feb511055c384e684ee60a416051c4ff727b5ddc821b
BLAKE2b-256 checksum
How to use checksums
6ae4c271f44cba57a4f89f27d91a89bdad11a60e25d0de5d858f138b5958344f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5

Release files / django_quill_editor-0.1.11-py3-none-any.whl

Download URL django_quill_editor-0.1.11-py3-none-any.whl
Size 463.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
756c098faca3b60e5f7c29720b3355ead0a3925a01bb6ea3d69ea88dbb4b8e5f
BLAKE2b-256 checksum
How to use checksums
afb52ef8cc663122db194445b760a2d511d6a2bbcdea4e50b4fca6846d300eec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page