Ошибка развертывания на Heroku - приложение Django - collectstatic --noinput
Я очень новичок, пытаюсь развернуть приложение на Heroku мое Django приложение, но получил ошибку выше, если у вас есть какие-либо идеи, и если вы ищете что-то еще на месте, пожалуйста, не стесняйтесь поделиться этим, потому что я младший и я учусь. ошибка: код перед следующей ошибкой - все пакеты установлены при развертывании, все пакеты установлены успешно, а затем: --->
manage.py:
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dmcaprivacy.settings')
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()
Settings.py:
Структура проекта:
Я искал информацию об ошибке и обнаружил, что при попытке выполнить следующую строку в терминале на локальном компьютере. python manage.py collectstatic --noinput
и результат:
Traceback (most recent call last):
File "C:\Users\heber\PycharmProjects\Project-Dmca\project\manage.py", line 22, in <module>
main()
File "C:\Users\heber\PycharmProjects\Project-Dmca\project\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
utility.execute()
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\core\management\__init__.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\core\management\__init__.py", line 266, in fetch_command
settings.INSTALLED_APPS
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\conf\__init__.py", line 92, in __getattr__
self._setup(name)
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\conf\__init__.py", line 79, in _setup
self._wrapped = Settings(settings_module)
File "C:\Users\heber\documents\Projects\dmcaprivacy\env\lib\site-packages\django\conf\__init__.py", line 190, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\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 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
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 'dmcaprivacy'
У вас много модулей, либо не установленных через pip
, либо не обновленных через pip freeze > requirements.txt
.
Поэтому я могу выделить 2 таких модуля:
ImportError: cannot import name 'config' from 'decouple'
Возможное исправление:
pip install python-decouple
2-ая ошибка:
ModuleNotFoundError: No module named 'dmcaprivacy'
Возможное исправление:
Папка вашего проекта расположена в неправильном порядке. Поместите папку dmcaprivacy
внутрь папки project
, которая содержит manage.py
.
Тогда в вашем settings.py
изменении:
WSGI_APPLICATION = 'dmcaprivacy.wsgi.application'
Ваш WSGI_APPLICATION
должен указывать на путь к вашему wsgi.py
файлу.
Для статических файлов я бы рекомендовал установить whitenoise
.
Следуйте шагам здесь: http://whitenoise.evans.io/en/stable/
Выполнить pip freeze > requirements.txt