Развертывание Django при рендеринге: ModuleNotFoundError для приложения WSGI. ПроблемаPython

Программы на Python
Ответить
Anonymous
 Развертывание Django при рендеринге: ModuleNotFoundError для приложения WSGI. Проблема

Сообщение Anonymous »

Демо проекта
Проблема
Я пытаюсь развернуть проект портфолио 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/
2. Текущая конфигурация при рендеринге:
  • Команда сборки: ./build.sh (устанавливает требования и запускает Collectstatic)
  • Команда запуска: Gunicorn formanbportfolio.wsgi:application
  • Окружающая среда: Python 3.13
3. Соответствующее содержимое wsgi.py:
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»