Ошибка при использовании ckeditor с Django версии 2.x - PullRequest
0 голосов
/ 29 декабря 2018

Пожалуйста, обратите внимание, что я исследовал Stack Overflow и документацию ckeditor и настроил соответственно.

Сначала я устанавливаю ckeditor, используя

pip install django-ckeditor

Затем я настроил мои settings.py как показано ниже

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.1/howto/static-files/

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

# media

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

# Static files (CSS, JavaScript, Images)
STATICFILES_FINDERS = [
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

CKEDITOR_BASEPATH = "/static/ckeditor/ckeditor"

# CKEditor settings
CKEDITOR_UPLOAD_PATH = "uploads/"
CKEDITOR_JQUERY_URL = '//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'
# This ensures you have all toolbar icons
CKEDITOR_CONFIGS = {
    'default': {
        'toolbar': None,
    },

  }

Затем я настроил свой urls.py (URL-адрес проекта), как показано ниже

url(r'^ckeditor/', include('ckeditor_uploader.urls'))

Затем я запустил команду collect static Статики ckeditor собираются в нужном месте, определенном в настройках, которое равно /static/ckeditor/ckeditor

После этого я импортировал и использовал поле ckeditor richtextfield в своей модели

from django.db import models
from ckeditor.fields import RichTextField

class Post(models.Model):
    post = models.RichTextField()

Во время makemigrations я получаю следующую ошибку

AttributeError: module 'django.db.models' has no attribute 'RichTextField'

1 Ответ

0 голосов
/ 29 декабря 2018

Измените:

post = models.RichTextField()

на:

post = RichTextField()

И в CKEDITOR_BASEPATH добавьте "/" в конец.

CKEDITOR_BASEPATH = "/static/ckeditor/ckeditor/"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...