Сниппет кода Django CKEditor отображается некорректно

Я создаю Django блог, который поддерживает фрагменты кода как для постов, так и для комментариев. Ниже приведена моя конфигурация CKEditor в settings.py

CKEDITOR_CONFIGS = {
    'default': {
        'toolbar': 'full',
        'extraPlugins': ','.join(
            [
                'codesnippet',
                'widget',
                'dialog',
            ]),
    },
    'comment': {
        'toolbar_Full': [
            ['Styles', 'Format', 'Bold', 'Italic', 'Underline', 'Strike', 'SpellChecker', 'Undo', 'Redo'],
            ['Link', 'Unlink', 'Anchor'],
            ['Image', 'Flash', 'Table', 'HorizontalRule'],
            ['TextColor', 'BGColor'],
            ['Smiley', 'SpecialChar'], ['Source'],
            ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
            ['NumberedList','BulletedList'],
            ['Indent','Outdent'],
            ['Maximize'],
            ['CodeSnippet']
        ],
        'extraPlugins': ','.join(
            [
                'codesnippet',
                'widget',
                'dialog',
            ]),
    }
}

Все экземпляры RichTextField в моделях и формах заменены на RichTextUploadingField. Затем я запустил миграции

В моем текстовом поле есть кнопка "Сниппет кода". Нажатие на кнопку позволяет конечным пользователям размещать фрагменты кода.

Code Snippet in Comment Form

Но когда форма отправляется, сниппет не размечается правильно.

Incorrect Markdown

Нет ни разметки, ни подсветки синтаксиса. Я что-то упустил в конфигурации? Или форма Django имеет ограниченную поддержку фрагментов кода?

Вам нужно использовать библиотеку javascript, такую как highlight.js в вашем base.html, чтобы сделать его как в ckedito

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/styles      /default.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1   /highlight.min.js"></script>
 <script>hljs.highlightAll();</script>
Вернуться на верх