Проблема
Я пытаюсь развернуть проект портфолио Django для Render. Хотя проект отлично работает на моем локальном компьютере с использованием python Manage.py runserver, развертывание завершается с ошибкой во время процесса сборки.
Журналы Render показывают, что Gunicorn не может найти модуль проекта, хотя структура папок в моем репозитории GitHub выглядит правильной.
Журнал ошибок:
Bash
Код: Выделить всё
==> Running 'gunicorn foremanbportfolio.wsgi:application --bind 0.0.0.0:$PORT'
Traceback (most recent call last):
...
ModuleNotFoundError: No module named 'foremanbportfolio'
==> Exited with status 1
1. Структура проекта: Мой репозиторий имеет следующую структуру:
Код: Выделить всё
Foreman-B_MyPortfolio/
├── manage.py
├── portfolio/
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── asgi.py
├── pages/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ ├── views.py
│ └── static/ # App-specific static
│ └── pages/
│ ├── css/
│ ├── js/
│ └── images/
├── static/ # Global static folder (all large assets)
│ ├── admin/ # Admin CSS/JS/images
│ ├── bootstrap/
│ ├── css/
│ ├── js/
│ ├── img/
│ └── rest_framework/
├── templates/
│ └── pages/
│ └── foremanbportfolio.html
└── staticfiles/
- Команда сборки: ./build.sh (устанавливает требования и запускает Collectstatic)
- Команда запуска: Gunicorn formanbportfolio.wsgi:application
- Окружающая среда: Python 3.13
Python
Код: Выделить всё
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'foremanbportfolio.settings')
application = get_wsgi_application()
- Создали виртуальную среду и установили django, Gunicorn и whitenoise.
- Заморозить требования: pip Free > require.txt.
- Установите ALLOWED_HOSTS = ['your-app-name.onrender.com', 'localhost'] в settings.py.
- Отправил код в общедоступный репозиторий GitHub.
- Подключил репозиторий к новой веб-службе при рендеринге.
Почему Gunicorn не может найти модуль formanbportfolio в Render, если файл существует в корне моего репозитория? Есть ли какой-то конкретный способ ссылки на путь приложения WSGI в команде «Пуск» рендеринга?
Подробнее здесь: https://stackoverflow.com/questions/798 ... the-proble
Мобильная версия