RichText Editor (CKEditor) in Django
Welcome to Episode 19 of our Django E-commerce Website series on Desphixs!
Adding CKEditor to Django
If you want to add a RichText Editor to your Django E-commerce website, CKEditor is a great choice. It is a flexible and customizable text editor that allows users to easily create and edit content.
To add CKEditor to your Django project, you first need to install the django-ckeditor package using pip:
pip install django-ckeditor
Next, you need to add ‘ckeditor’ to your INSTALLED_APPS in your settings.py file:
INSTALLED_APPS = [
...
'ckeditor',
]
Using CKEditor in Django Templates
Once CKEditor is installed, you can use it in your Django templates by adding the following code:
{% load static %}
{{ form.media }}
{{ form.content|safe }}
Make sure to load the CKEditor media files using the form.media tag, and use the |safe filter to render the HTML content properly.
Customizing CKEditor in Django
CKEditor is highly customizable, allowing you to change its appearance and functionality to fit your website’s needs. You can customize CKEditor by creating a custom CKEditor configuration in your settings.py file:
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'Custom',
'toolbar_Custom': [
{'name': 'styles', 'items': ['Format', 'Font', 'FontSize']},
{'name': 'colors', 'items': ['TextColor']},
{'name': 'basicstyles', 'items': ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript']},
{'name': 'paragraph', 'items': ['NumberedList', 'BulletedList', '-', 'Blockquote']},
{'name': 'links', 'items': ['Link', 'Unlink']},
'/',
{'name': 'clipboard', 'items': ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo']},
{'name': 'editing', 'items': ['Find', 'Replace']},
{'name': 'tools', 'items': ['Maximize']},
],
'height': 300,
}
}
In this configuration, we have customized the toolbar, added additional styling options, and set the default height of the editor to 300px. You can further customize CKEditor by exploring the available options in the official documentation.
Conclusion
Adding a RichText Editor like CKEditor to your Django E-commerce website can enhance the user experience and make it easier for users to create and edit content. By following the steps outlined in this article, you can integrate CKEditor into your Django project and customize it to suit your specific requirements.
We hope you found this tutorial helpful! Stay tuned for more episodes of our Django E-commerce Website series on Desphixs.
Hey Destiny,
Seems your package doesn't have the prism js and CSS files. Can you add them to the drive, please?
perfect
Hey bro,
Can we crop and upload images on admin dashboard using ckeditor or is there any other method…
great job done, keep on Desphixs! Will there be a tutorial about multilanguage? Cuz in template we can choose language on top right corner.
Hi Desphixs,
I could made it following your example, but without html and copy on the top-right corner ..
It makes me a lot of happy ..😊
Hi Desphixs
Can you please shared for us the
– default.min.css,
– hljs.initHighlightingOnLoad(),
– highlight.min.js,
– prism.js, and
– prism.css
that you just added to product-detail page?
Thanks for your kindness 🙏
Hello, @desphixs, great work. Your tutorials are helpful to me. I want to request one necessary topic which almost none has made a tutorial on. Can you please make a dynamic multistep form using Django? It would be really helpful for newbies like me. Please take this into consideration, there is almost not a tutorial about this topic.
Please show us how to use tinymice editor ..
It will give us options which one to use: tinymice or ckeditor.
Thanks