Django's CKEditor не отображается в панели администратора
У меня есть простое приложение Django, которое позволяет мне создавать статью. Она содержит заголовок, дату, автора (автоприменяется) и тело. Используя RichTextField, я создал тело в модели, однако в админке вместо RichTextField появляется простая текстовая область, см. здесь
Во время проверки HTML я обнаружил кое-что это. Я не добавлял этого и понятия не имею, как это исправить.
Вот весь соответствующий код
Admin.py
from django.contrib import admin
# Register your models here.
from .models import Article
admin.site.site_header = 'Neostorm Admin'
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
class Media:
js = ('ckeditor/ckeditor/ckeditor.js',)
def save_model(self, request, obj, form, change):
obj.user = request.user
super().save_model(request, obj, form, change)
Models.py
from django.db import models
from ckeditor_uploader.fields import RichTextUploadingField
from django.contrib.auth.models import User
# Create your models here.
class Article(models.Model):
title = models.CharField(max_length=50)
body = RichTextUploadingField(blank=True, null=True)
#Order the articles model by the date of update
created_at = models.DateTimeField(auto_now=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True, editable=False)
Соответствующие конфигурации settings.py
Проблема была не в моей конфигурации, а в самой библиотеке. Я установил tiny mce (которую я рекомендую), и она мгновенно устранила проблему.
Я рекомендую эти ресурсы, если вы хотите использовать tiny mce
- https://www.youtube.com/watch?v=l9VZlqCbiLk
- https://www.tiny.cloud/docs/integrations/django/ .
- https://django-tinymce.readthedocs.io/en/latest/installation.html .
Некоторые статические файлы имеют имена, отличные от тех, что указаны в документации, поэтому имейте это в виду, когда речь идет о конфигурации в вашем settings.py.