質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3284閲覧

ModuleNotFoundError: No module named 'プロジェクト名.wsgi'が表示され、Application errorになる[Django Heroku]

nao2021

総合スコア15

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/03/04 05:06

編集2022/03/05 00:01

前提・実現したいこと

Djangoで開発をしているのですが、HerokuにPushしても、Application errorになってしまいます。

heroku logs --tailでログを確認すると、以下のエラーメッセージが表示しました。

発生している問題・エラーメッセージ

エラーメッセージ 2022-03-04T01:14:09.434393+00:00 app[web.1]: ModuleNotFoundError: No module named 'musicsearch.wsgi'

ディレクトリ構成

musicsearch ├ app ├ musicsearch ├─__pycache__     ├─__init__.py     ├─wsgi.py    ├─settings.py ├─local_settings.py      ├─urls.py ├ myvenv ├ manage.py ├db.splite3 ├Procfile ├requirements.txt ├requirements-dev.txt ├runtime,txt

wsgi.py

1import os 2 3from django.core.wsgi import get_wsgi_application 4 5os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'musicsearch.settings') 6 7application = get_wsgi_application()

setting.py

1import os 2from decouple import config 3from dj_database_url import parse as aburl 4import dj_database_url 5 6 7 8# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 9BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 10 11 12# Quick-start development settings - unsuitable for production 13# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/ 14 15 16 17# SECURITY WARNING: don't run with debug turned on in production! 18DEBUG = False 19 20 21try: 22 from musicsearch.local_settings import * 23except ImportError: 24 pass 25 26if not DEBUG: 27 import django_heroku 28 django_heroku.settings(locals()) 29 30 31ALLOWED_HOSTS = ['*'] 32# musicsearch0303.herokuapp.com 33 34if not DEBUG: 35 SECRET_KEY = os.environ['SECRET_KEY'] 36# Application definition 37 38INSTALLED_APPS = [ 39 'django.contrib.admin', 40 'django.contrib.auth', 41 'django.contrib.contenttypes', 42 'django.contrib.sessions', 43 'django.contrib.messages', 44 'django.contrib.staticfiles', 45 'app', 46 'widget_tweaks', 47] 48 49MIDDLEWARE = [ 50 'django.middleware.security.SecurityMiddleware', 51 'django.contrib.sessions.middleware.SessionMiddleware', 52 'django.middleware.common.CommonMiddleware', 53 'django.middleware.csrf.CsrfViewMiddleware', 54 'django.contrib.auth.middleware.AuthenticationMiddleware', 55 'django.contrib.messages.middleware.MessageMiddleware', 56 'django.middleware.clickjacking.XFrameOptionsMiddleware', 57] 58 59ROOT_URLCONF = 'musicsearch.urls' 60 61TEMPLATES = [ 62 { 63 'BACKEND': 'django.template.backends.django.DjangoTemplates', 64 'DIRS': [BASE_DIR,'templates'], 65 'APP_DIRS': True, 66 'OPTIONS': { 67 'context_processors': [ 68 'django.template.context_processors.debug', 69 'django.template.context_processors.request', 70 'django.contrib.auth.context_processors.auth', 71 'django.contrib.messages.context_processors.messages', 72 ], 73 }, 74 }, 75] 76 77WSGI_APPLICATION = 'musicsearch.wsgi.application' 78 79 80# Database 81# https://docs.djangoproject.com/en/2.2/ref/settings/#databases 82 83DATABASES = { 84 'default': { 85 'ENGINE': 'django.db.backends.sqlite3', 86 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 87 } 88} 89 90db_from_env = dj_database_url.config() 91DATABASES['default'].update(db_from_env) 92 93# Password validation 94# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators 95 96AUTH_PASSWORD_VALIDATORS = [ 97 { 98 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 99 }, 100 { 101 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 102 }, 103 { 104 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 105 }, 106 { 107 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 108 }, 109] 110 111 112# Internationalization 113# https://docs.djangoproject.com/en/2.2/topics/i18n/ 114 115LANGUAGE_CODE = 'ja' 116 117TIME_ZONE = 'UTC' 118 119USE_I18N = True 120 121USE_L10N = True 122 123USE_TZ = True 124 125 126# Static files (CSS, JavaScript, Images) 127# https://docs.djangoproject.com/en/2.2/howto/static-files/ 128 129#CSS 130STATIC_URL = '/static/' 131STATIC_DIR = os.path.join(BASE_DIR,"static") 132# TATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles'), 133 134# STATICFILES_DIRS = [ 135# os.path.join(BASE_DIR,'static'), 136# ] 137# 画像 138MEDIA_DIR = os.path.join(BASE_DIR, "media") 139MEDIA_ROOT = MEDIA_DIR 140 141#パスワードリセットのメール送信 142EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' 143 144#ログインログアウト 145LOGIN_URL = 'app:login' 146LOGIN_REDIRECT_URL = 'app:index' 147LOGOUT_REDIRECT_URL = 'app:login' 148LOGOUT_REDIRECT_URL='/login' 149LOGOUT_URL = 'app:logout' 150

Procfile

1web: gunicorn musicsearch.wsgi --log-file -

requirements.txt

1asgiref==3.5.0 2Django==4.0.3 3sqlparse==0.4.2 4-r requirementsdev.txt 5gunicorn==19.9.0 6psycopg2

runtime.txt

1 Python-3.10.0

requirementsdev.txt

1django-allauth==0.48.0 2django-widget-tweaks==1.4.12 3dj-database-url==0.5.0 4dj-static==0.0.6 5python-decouple==3.3 6spotipy==2.19.0 7oauthlib==3.2.0 8requests==2.27.1 9requests-oauthlib==1.3.1 10python3-openid==3.2.0 11django-heroku==0.3.1

試したこと

Procfileがうまく実行されていないと思い、Procfileの位置やディレクトリ構成などパスの変更を色々と試したが、できなかった。

補足情報

ローカル環境で、gunicorn musicsearch.wsgiと実行すると、普通に表示されます。

解決方法を教えて頂きたいです。
文章が拙く、すみません。
質問内容に不備がある場合は補足させていただきますので、その際はコメントして頂くと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Procfile

1web: gunicorn --chdir musicsearch musicsearch.wsgi

上記のように、Procfileを書き換えたら、無事デプロイできました

投稿2022/03/06 05:56

nao2021

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問