--- id: django-ckeditor-5 version: "0.2.20" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # django-ckeditor-5 — CKEditor 5 for Django. License: permissive · Maintenance: active · Downloads: 295.0K/mo ## What it is and what it does django-ckeditor-5 provides a Django field type and form widget that embeds CKEditor 5, a JavaScript-based rich-text editor, into your models and forms. You add it to your Django app, configure toolbars and plugins in settings.py, then use CKEditor5Field in your models or CKEditor5Widget in your forms to give users a full-featured editor for text content. It handles file uploads through Django's media system or custom upload views, and lets you customize the editor's appearance and available tools via configuration dictionaries. The package depends only on Django and Pillow, making it lightweight to install. It supports Django 4.2, 5.2, and 6.0, and Python 3.8 through 3.13. The editor includes built-in plugins for text formatting, lists, tables, images, links, code blocks, and more—all configurable per field. You can define multiple configurations and assign them to different fields. Use it for: - Add a rich-text editor to a Django blog or article model so authors can format content with bold, lists, links, and embedded images without writing HTML. - Build a comment form with a lightweight editor toolbar for user-submitted content while restricting certain tools like code blocks. - Create a CMS where different content sections use different editor configurations—simple for headlines, full-featured for body text. - Handle image and file uploads within the editor, storing them in Django's media directory or a custom storage backend. - Customize the editor's color palette, fonts, and available formatting tools to match your application's design system. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Integrates CKEditor 5, a modern rich-text editor, into Django models and forms as a field type and widget with configurable toolbars, plugins, and file upload handling. Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and is widely used. It's the standard way to integrate CKEditor 5 into Django. Install it if you need a production-ready rich-text editor for Django models or forms. ## Install pip install django-ckeditor-5 uv add django-ckeditor-5 poetry add django-ckeditor-5 ## Installing django-ckeditor-5 Before you install: Low friction install with only Django and Pillow as runtime dependencies. Package is actively maintained with recent commits and steady download volume, indicating stable ongoing support. License in practice: BSD-3-Clause is permissive; you can use, modify, and distribute this package with minimal restrictions in commercial and open-source projects. Quickstart: pip install django-ckeditor-5 In settings.py: INSTALLED_APPS = ['django_ckeditor_5'] In models.py: from django_ckeditor_5.fields import CKEditor5Field class Article(models.Model): text = CKEditor5Field('Text', config_name='default') Verify before relying: - Whether CKEditor 5 JavaScript assets are bundled or require separate CDN/static file setup beyond Django's static file handling. - Performance characteristics when handling large documents or high-concurrency file uploads. - Compatibility with Django REST Framework serializers if used in API contexts. ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 295.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django rich text editor, ckeditor5 django integration, django wysiwyg editor, django text editor field, django content editing widget, django-integration, rich-text-editor, form-widget [View on SkillFed](https://skillfed.io/packages/django-ckeditor-5) · [View on PyPI](https://pypi.org/project/django-ckeditor-5/)