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

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

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

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

Heroku

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

1744閲覧

djangoをHerokuでデプロイ後Server Error (500)が画面に表示されるのを解決したい

ysk1914

総合スコア17

Django

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

Heroku

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

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/03/06 14:18

度々お世話になります。Djangoを使ってプロジェクトをデプロイしたのですが、画面にServer Error (500)の文字が出現し、解決できない状況です。

知見のある方、大変申し訳ございませんが、アドバイス頂けると幸いです。

試したこと

参考サイトを見てdebug=Trueで実行したことが原因であることを発見し、このサイトを見て設定を変更しましたが、解決に至りませんでした。

bash

1heroku config:set DEBUG_COLLECTSTATIC=1 2heroku config:set DISABLE_COLLECTSTATIC=1

上記コマンドも叩いています。

異なるプロジェクトでdebug=Trueで実行した記憶があり、プロジェクトを削除し、Gitの管理を外し、また新たにプロジェクトを作成したのですが、結局画面でServer Error (500)が表示されます。

デプロイが成功し、画面が表示されるプロジェクトを見直し、変更できる箇所を変更し、デプロイしてもServer Error (500)が表示されます。

補足

  • ローカルで実行すると問題なく画面が表示されます。
  • デプロイ自体はできている状態です。

ソース

settings.py

python

1""" 2Django settings for portfolio_site_project project. 3 4Generated by 'django-admin startproject' using Django 2.1.7. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/2.1/topics/settings/ 8 9For the full list of settings and their values, see 10https://docs.djangoproject.com/en/2.1/ref/settings/ 11""" 12 13import os 14 15# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 16BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 17 18 19# Quick-start development settings - unsuitable for production 20# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/ 21 22# SECURITY WARNING: keep the secret key used in production secret! 23SECRET_KEY = '!#loi+x5e(uq2y5q6((c^nai!&lu!p4dj)ri&h%b+^r*#l(0*m' 24 25# SECURITY WARNING: don't run with debug turned on in production! 26 27# デプロイ作業後 28DEBUG = False 29 30try: 31 from .local_settings import * 32except ImportError: 33 pass 34 35# デプロイ作業後 ログ設定 36LOGGING = { 37 'version': 1, 38 'disable_existing_loggers': False, 39 'handlers': { 40 'console': { 41 'class': 'logging.StreamHandler', 42 }, 43 }, 44 'loggers': { 45 'django': { 46 'handlers': ['console'], 47 'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG'), 48 }, 49 }, 50} 51 52ALLOWED_HOSTS = ['*'] 53 54 55# Application definition 56 57INSTALLED_APPS = [ 58 'django.contrib.admin', 59 'django.contrib.auth', 60 'django.contrib.contenttypes', 61 'django.contrib.sessions', 62 'django.contrib.messages', 63 'django.contrib.staticfiles', 64 'portfolio_site.apps.PortfolioSiteConfig', 65] 66 67MIDDLEWARE = [ 68 'django.middleware.security.SecurityMiddleware', 69 'whitenoise.middleware.WhiteNoiseMiddleware', 70 'django.contrib.sessions.middleware.SessionMiddleware', 71 'django.middleware.common.CommonMiddleware', 72 'django.middleware.csrf.CsrfViewMiddleware', 73 'django.contrib.auth.middleware.AuthenticationMiddleware', 74 'django.contrib.messages.middleware.MessageMiddleware', 75 'django.middleware.clickjacking.XFrameOptionsMiddleware', 76] 77 78# Simplified static file serving. 79# https://warehouse.python.org/project/whitenoise/ 80STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' 81 82ROOT_URLCONF = 'portfolio_site_project.urls' 83 84TEMPLATES = [ 85 { 86 'BACKEND': 'django.template.backends.django.DjangoTemplates', 87 'DIRS': [os.path.join(BASE_DIR, 'templates')] 88 , 89 'APP_DIRS': True, 90 'OPTIONS': { 91 'context_processors': [ 92 'django.template.context_processors.debug', 93 'django.template.context_processors.request', 94 'django.contrib.auth.context_processors.auth', 95 'django.contrib.messages.context_processors.messages', 96 ], 97 }, 98 }, 99] 100 101WSGI_APPLICATION = 'portfolio_site_project.wsgi.application' 102 103 104# Database 105# https://docs.djangoproject.com/en/2.1/ref/settings/#databases 106 107DATABASES = { 108 'default': { 109 'ENGINE': 'django.db.backends.sqlite3', 110 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 111 } 112} 113 114# Parse database configuration from $DATABASE_URL 115import dj_database_url 116db_from_env = dj_database_url.config() 117DATABASES['default'].update(db_from_env) 118 119 120# Password validation 121# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators 122 123AUTH_PASSWORD_VALIDATORS = [ 124 { 125 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 126 }, 127 { 128 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 129 }, 130 { 131 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 132 }, 133 { 134 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 135 }, 136] 137 138 139# Internationalization 140# https://docs.djangoproject.com/en/2.1/topics/i18n/ 141 142LANGUAGE_CODE = 'ja' 143 144TIME_ZONE = 'Asia/Tokyo' 145 146USE_I18N = True 147 148USE_L10N = True 149 150USE_TZ = True 151 152 153# Static files (CSS, JavaScript, Images) 154# https://docs.djangoproject.com/en/2.1/howto/static-files/ 155 156STATIC_URL = '/static/' 157STATIC_ROOT = os.path.join(BASE_DIR, 'portfolio_site/static') 158 159# Extra places for collectstatic to find static files. 160STATICFILES_DIRS = ( 161 os.path.join(BASE_DIR, 'static'), 162) 163 164MEDIA_URL = '/uploadfile/' 165MEDIA_ROOT = BASE_DIR 166 167# Configure Django App for Heroku. 168if not DEBUG: 169 import django_heroku 170 django_heroku.settings(locals()) 171

wsgi.py

python

1""" 2WSGI config for portfolio_site_project project. 3 4It exposes the WSGI callable as a module-level variable named ``application``. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/2.1/howto/deployment/wsgi/ 8""" 9 10import os 11from dj_static import Cling 12from django.core.wsgi import get_wsgi_application 13 14os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'portfolio_site_project.settings') 15 16application = Cling(get_wsgi_application()) 17

Procfile

python

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

requiments.txt

python

1dj-database-url==0.5.0 2dj-static==0.0.6 3Django==2.1.7 4django-heroku==0.3.1 5django-toolbelt==0.0.1 6gunicorn==19.9.0 7Pillow==5.4.1 8psycopg2==2.7.7 9pytz==2018.9 10static3==0.7.0 11whitenoise==4.1.2

runtime.txt

python

1python-3.6.6

heroku logs

bash

12019-03-06T13:50:25.646313+00:00 heroku[web.1]: Restarting 22019-03-06T13:50:25.672429+00:00 heroku[web.1]: State changed from up to starting 32019-03-06T13:50:26.283037+00:00 heroku[web.1]: Stopping all processes with SIGTERM 42019-03-06T13:50:26.290917+00:00 app[web.1]: [2019-03-06 22:50:26 +0900] [10] [INFO] Worker exiting (pid: 10) 52019-03-06T13:50:26.291008+00:00 app[web.1]: [2019-03-06 13:50:26 +0000] [4] [INFO] Handling signal: term 62019-03-06T13:50:26.291011+00:00 app[web.1]: [2019-03-06 22:50:26 +0900] [11] [INFO] Worker exiting (pid: 11) 72019-03-06T13:50:26.391568+00:00 app[web.1]: [2019-03-06 13:50:26 +0000] [4] [INFO] Shutting down: Master 82019-03-06T13:50:26.453536+00:00 heroku[web.1]: Process exited with status 0 92019-03-06T13:50:29.589738+00:00 heroku[web.1]: Starting process with command `gunicorn portfolio_site_project.wsgi --log-file -` 10. 11. 12. 132019-03-06T13:50:32.140294+00:00 app[web.1]: /app/.heroku/python/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. 142019-03-06T13:50:32.140328+00:00 app[web.1]: """) 152019-03-06T13:50:32.142289+00:00 app[web.1]: /app/.heroku/python/lib/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use "pip install psycopg2-binary" instead. For details see: <http://initd.org/psycopg/docs/install.html#binary-install-from-pypi>. 162019-03-06T13:50:32.142291+00:00 app[web.1]: """) 172019-03-06T13:50:34.000000+00:00 app[api]: Build succeeded 182019-03-06T13:50:41.826809+00:00 app[web.1]: 10.143.140.66 - - [06/Mar/2019:22:50:41 +0900] "GET / HTTP/1.1" 500 27 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36" 192019-03-06T13:50:41.827568+00:00 heroku[router]: at=info method=GET path="/" host=django-portfolio0306.herokuapp.com request_id=3ef91b7b-d4e5-4b77-ab90-0c3c914c0d80 fwd="126.161.160.121" dyno=web.1 connect=1ms service=164ms status=500 bytes=234 protocol=https 202019-03-06T13:51:47.194807+00 21. 22. 23. 242019-03-06T13:51:51.483864+00:00 heroku[run.7228]: Process exited with status 127

.gitignore

venv/ *.idea *.git staticfiles local_settings.py db.sqlite3 *.pyc

関係してくると思っているファイルは以上です。

情報が足りてないなどございましたら仰って頂ければ追記します。

丸2日かけても解決できなかったためご相談しました。
解決策をご存知の方はご教示頂けると幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

heroku logsの最後の行2019-03-06T13:51:51.483864+00:00 heroku[run.7228]: Process exited with status 127の上の行は、もしかして省略されていますか?
おそらくここにエラーの原因が隠れていると思います。
「○○Exception」とか「○○Error」というメッセージがあるはずです。
もう一度heroku logsの内容を確認してみてください。

投稿2019/03/07 07:26

ryu22e

総合スコア132

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問