#python #django #ckeditor
#python #django #ckeditor
Вопрос:
Итак, я шаг за шагом следил за этим сайтом, чтобы интегрировать-ckeditor-in-django, но он не читает / не отражает в моем models.py
Вот шаг за шагом, которому я следовал:
Шаг 1:
pip install django-ckeditor
Шаг 2:
INSTALLED_APPS = [
'ckeditor',
'ckeditor_uploader',
..................]
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.1/howto/static-files/
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
CRISPY_TEMPLATE_PACK = 'bootstrap4'
#...
SITE_ID = 1
####################################
## CKEDITOR CONFIGURATION ##
####################################
CKEDITOR_JQUERY_URL = 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'
CKEDITOR_UPLOAD_PATH = 'uploads/'
CKEDITOR_IMAGE_BACKEND = "pillow"
CKEDITOR_CONFIGS = {
'default': {
'toolbar': None,
},
}
###################################
Шаг 3:
в основной папке проектов urls.py:
path('ckeditor/', include('ckeditor_uploader.urls')),
в models.py
from ckeditor_uploader.fields import RichTextField, RichTextUploadingField
class ModelClass:
## content = models.TextField()
content = RichTextUploadingField()
При миграции выдается ошибка
ImportError: cannot import name 'RichTextField' from 'ckeditor_uploader.fields' (C:UsersUserDesktopProjectvenvlibsite-packagesckeditor_uploaderfields.py)
Чего мне не хватает?
Комментарии:
1.
RichTextUploadingField
Принадлежитfrom ckeditor_uploader.fields import RichTextUploadingField
, ноRichTextField
кckeditor.fields
.
Ответ №1:
RichTextUploadingField
Принадлежит from ckeditor_uploader.fields import RichTextUploadingField
, но RichTextField
к ckeditor.fields
. Таким образом, вы импортируете их с помощью:
from ckeditor.fields import RichTextField
from ckeditor_uploader.fields import RichTextUploadingField
В вашем вопросе вы не используете RichTextUploadingField
, поэтому в этом случае вы можете удалить второй импорт.
Комментарии:
1. сейчас он работает просто отлично, но у меня есть вопрос в моделях, которые оба импорта показывают, как будто есть ошибка, подчеркнутая красным. есть ли причина?
2. @A_K: вероятно, это потому, что вы никогда не использовали
RichTextUploadingField
, в этом случае вам не нужно импортировать это.