pip install django-ckeditor

add to settings.py:

....
INSTALLED_APPS = [
    ....
    'ckeditor',
    'ckeditor_uploader', # Optional: for image/file uploads
    ....
]
....
CKEDITOR_UPLOAD_PATH = "media/"
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
....

./manage.py collectstatic

add to settings.py:

CKEDITOR_CONFIGS = {
  'awesome_ckeditor': {
    'toolbar': 'full',
  },
}

urls.py:

urlpatterns = [
  path('', index, name="index"),
  path('ckeditor/', include('ckeditor_uploader.urls')),
]

models.py:

from ckeditor.fields import RichTextField
class Post(models.Model):
    # поля модели
    description = RichTextField(config_name='awesome_ckeditor', verbose_name='Краткое описание', max_length=500)
    text = RichTextField(config_name='awesome_ckeditor', verbose_name='Полный текст записи')

Ресурсы: