Ошибка ModuleNotFoundError, полученная при использовании tinymce с Django
Проблема
Я пытаюсь добавить стороннее приложение в мой проект, чтобы я мог добавить его в приложение под названием "Растения", но когда я следую инструкциям по установке, я получаю сообщение об ошибке.- следуйте инструкциям: https://django-tinymce.readthedocs.io/en/latest/installation.html .
Устранение неполадок, которые я пробовал
- Удаление и повторная установка tinymce с
pip install django-tinymce
иpip uninstall django-tinymce
. - Убедился, что я был в virtualenv при установке и во время работы моего сервера с
python manage.py runserver
. - Полностью установил модуль tinymce, затем перезагрузил терминал.
- Убедился, что мои требования были созданы правильно с помощью
pip freeze > requirements.txt
.
- Пересмотрел все мои орфографические записи в
base.py
,plants > models.py
иconfig > urls.py
.
- Подтвердил, что мой DJANGO_SETTINGS_MODULE был установлен правильно в
config.wsgi.py
иmanage.py
.
- Прочитал все выпуски stackoverflow с одной и той же ошибкой трассировки.
- Добавление
path('tinymce/', include('tinymce.urls')),
кplants > urls.py
, которое не имело смысла, поэтому я его удалил
Traceback
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/utils/autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 110, in inner_run
autoreload.raise_last_exception()
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/utils/autoreload.py", line 76, in raise_last_exception
raise _exception[1]
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/core/management/__init__.py", line 357, in execute
autoreload.check_errors(django.setup)()
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/utils/autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "/Users/mary/Projects/opensprouts-web/opensprouts/lib/python3.9/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/opt/homebrew/Cellar/python@3.9/3.9.10/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'tinymce'
Структура файла
Project
|
+-- config
| |
| +-- settings
| | |
| | +-- __init__.py
| | +-- base.py
| | +-- local.py
| | +-- production.py
| |
| +-- urls.py
| +-- wsgi.py
|
+-- plants
| |
| +-- __init__.py
| +-- admin.py
| +-- apps.py
| +-- models.py
| +-- urls.py
| +-- views.py
|
+--manage.py
+--requirements.txt
Code
base.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
.
.
.
'allauth.account',
'crispy_forms',
'tinymce',
]
ROOT_URLCONF = "config.urls"
config > urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('allauth.urls')),
path('accounts/', include('django.contrib.auth.urls')),
path('', include('pages.urls')),
path('plants/', include('plants.urls')),
path('tinymce/', include('tinymce.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
plants > models.py
from tinymce import models as tinymce_models
class Plant(models.Model):
name = models.CharField(max_length=120)
slug = models.SlugField(null=False, unique=True)
description = models.TextField()
.
.
.
textbox = tinymce_models.HTMLField()
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("plant_detail", kwargs={"slug": self.slug})
manage.py
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
requirements.txt
asgiref==3.5.2
click==8.0.4
Django==4.0.5
django-tinymce==3.4.0
Flask==2.0.1
itsdangerous==2.1.0
Jinja2==3.0.3
MarkupSafe==2.1.0
sqlparse==0.4.2
Werkzeug==2.0.3