Привет, я пытаюсь интегрировать ckeditor в свой блог, и вот ошибка, мне помогают когда я пытаюсь использовать импорт из ckeditor_uploader.fields RichTextUploadingField, RichTextField, ошибка не может импортировать RichTextField модели.py
from django.db import models
from django.template.defaultfilters import slugify
from django.conf import settings
from taggit.managers import TaggableManager
from ckeditor_uploader.fields import RichTextUploadingField
class Post(models.Model):
STATUS_CHOICES=(
('Published','Published'),
('Draft','Draft'),
)
user = models.ForeignKey(settings.AUTH_USER_MODEL,default=1,on_delete=models.CASCADE)
title = models.CharField(max_length=250)
body = models.RichTextUploadingField()
Category=models.ForeignKey(Category,on_delete=models.CASCADE)
seo_title = models.CharField(max_length=60,blank=True,null=True)
seo_description = models.CharField(max_length=125,blank=True,null=True)
slug = models.SlugField(max_length=200,unique=True)
status = models.CharField(max_length=10,default='Draft',choices=STATUS_CHOICES)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
thumb=models.ImageField(blank=True)
tags = TaggableManager()
def save(self,*args,**kwargs):
self.slug=slugify(self.title)
super(Post,self).save(*args,**kwargs)
def __str__(self):
return self.title
def snippet(self):
return self.body[:300]+'....'
#def get_absolute_url(self):
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pages',
'blog',
'django_social_share',
'taggit',
'ckeditor',
'ckeditor_uploader',
]
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR,'static'),
]
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')
#PROJECT_DIR = os.path.dirname(os.path.abspath(__file__))
#STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static')
#...
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,
},
}
также пытаюсь использовать импорт из ckeditor.fields import RichTextField говорит, что не может импортировать из RichTextField
спасибо сработало! пожалуйста, больше объяснений, и почему при попытке импортировать оба, например, из ckeditor_uploader.fields import RichTextField, RichTextUploadingField, выдает ошибку, не может импортировать RichTextField
RichTextUploadingField находится в ckeditor_uploader.fields, тогда как RichTextField находится в ckeditor.fields. Они в отдельных файлах. Таким образом, вы должны импортировать их из разных мест. Вы не можете сделать это в одном операторе импорта.






Вы используете: models.RichTextUploadingField() который на самом деле не является классом модуля модели, вы импортируете его из другой библиотеки, поэтому вы должны использовать только body = RichTextUploadingField().
Могу ли я узнать причину дополнительных объяснений, пожалуйста
Вот ошибка:
body = models.RichTextUploadingField(). Измените это наbody = RichTextUploadingField().