Сниппет кода 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. Затем я запустил миграции
В моем текстовом поле есть кнопка "Сниппет кода". Нажатие на кнопку позволяет конечным пользователям размещать фрагменты кода.
Но когда форма отправляется, сниппет не размечается правильно.
Нет ни разметки, ни подсветки синтаксиса. Я что-то упустил в конфигурации? Или форма 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>

