Привет. Почему у меня при миграции модуля выходит ошибка об отсутсвии модуля path_to_storage? в google об этом модуле ни слова. Я хотел добавить редактор django-ckeditor-5 и ориентировался по этой статье - . Ниже отправляю свои действия и какие ошибки получил. Что я не так сделал?
$ pip install django-ckeditor-5==0.2.12
$ cat Project1/settings.py
from pathlib import Path
import os
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'portfolio',
#'ckeditor',
#'ckeditor_uploader',
'django_ckeditor_5',
]
...
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/5.0/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
# Default primary key field type
# https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
MEDIA_URL = "/media/"
#MEDIA_ROOT = BASE_DIR / "media/"
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
customColorPalette = [
{
...ТУТ Я СКОПИРОВАЛ ИНФУ С САЙТА
},
]
CKEDITOR_5_CUSTOM_CSS = 'path_to.css' # optional
CKEDITOR_5_FILE_STORAGE = "path_to_storage.CustomStorage" # optional
CKEDITOR_5_CONFIGS = {
'default': {
...ТУТ Я СКОПИРОВАЛ ИНФУ С САЙТА
}
},
'list': {
'properties': {
'styles': 'true',
'startIndex': 'true',
'reversed': 'true',
}
}
}
$ cat Project1/urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from portfolio import views
urlpatterns = [
path('admin/', admin.site.urls),
path('api-auth/', include('rest_framework.urls')),
path('', include('portfolio.urls')),
#path('ckeditor/',include('ckeditor_uploader.urls')),
path("ckeditor5/", include('django_ckeditor_5.urls'), name="ck_editor_5_upload_file"),
path('contents/', views.contents),
]+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
$ cat portfolio/models.py
from django.db import models
#from ckeditor_uploader.fields import RichTextUploadingField
from django_ckeditor_5.fields import CKEditor5Field
class Portfolio(models.Model):
progress = models.TextField(verbose_name="Достижение")
#description = RichTextUploadingField(verbose_name="Описание")
description = CKEditor5Field(verbose_name="Описание", config_name='extends')
image = models.ImageField(upload_to='uploads/%Y/%m/%d/', blank=True, null=True)
url = models.URLField(blank=True, null=True)
$ python manage.py makemigrations
Traceback (most recent call last):
File "/home//Project1/backend/manage.py", line 22, in <module>
main()
File "/home//Project1/backend/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home//pyenv/lib/python3.10/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
utility.execute()
File "/home//pyenv/lib/python3.10/site-packages/django/core/management/__init__.py", line 436, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home//pyenv/lib/python3.10/site-packages/django/core/management/base.py", line 413, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/dato/pyenv/lib/python3.10/site-packages/django/core/management/base.py", line 454, in execute
self.check()
File "/home//pyenv/lib/python3.10/site-packages/django/core/management/base.py", line 486, in check
all_issues = checks.run_checks(
File "/home/dato/pyenv/lib/python3.10/site-packages/django/core/checks/registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home//pyenv/lib/python3.10/site-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/home//pyenv/lib/python3.10/site-packages/django/core/checks/urls.py", line 24, in check_resolver
return check_method()
File "/home//pyenv/lib/python3.10/site-packages/django/urls/resolvers.py", line 519, in check
for pattern in self.url_patterns:
File "/home/dato/pyenv/lib/python3.10/site-packages/django/utils/functional.py", line 47, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home//pyenv/lib/python3.10/site-packages/django/urls/resolvers.py", line 738, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home//pyenv/lib/python3.10/site-packages/django/utils/functional.py", line 47, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home//pyenv/lib/python3.10/site-packages/django/urls/resolvers.py", line 731, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home//Project1/backend/Project1/urls.py", line 11, in <module>
path("ckeditor5/", include('django_ckeditor_5.urls'), name="ck_editor_5_upload_file"),
File "/home//pyenv/lib/python3.10/site-packages/django/urls/conf.py", line 39, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/home//pyenv/lib/python3.10/site-packages/django_ckeditor_5/urls.py", line 3, in <module>
from . import views
File "/home//pyenv/lib/python3.10/site-packages/django_ckeditor_5/views.py", line 48, in <module>
storage = get_storage_class()
File "/home//pyenv/lib/python3.10/site-packages/django_ckeditor_5/views.py", line 29, in get_storage_class
return import_string(storage_setting)
File "/home//pyenv/lib/python3.10/site-packages/django/utils/module_loading.py", line 30, in import_string
return cached_import(module_path, class_name)
File "/home//pyenv/lib/python3.10/site-packages/django/utils/module_loading.py", line 15, in cached_import
module = import_module(module_path)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named 'path_to_storage'