RichTextUploadingField не отражает модели

#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 , в этом случае вам не нужно импортировать это.