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

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

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

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

Heroku

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

Python 3.x

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

Python

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

Q&A

解決済

2回答

2249閲覧

DjangoをHerokuにデプロイするとsever error(500)になる

shunke434343

総合スコア22

Django

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

Heroku

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

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2019/02/26 08:01

編集2019/02/27 04:17

前提・実現したいこと

Djangoにて作成したアプリをherokuへデプロイを試みていますが、server error(500)
が表示されるだけとなっています。これを正しく表示させたいです。
python: 3.6.8
django: 2.1.5

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

  • heroku logs
2019-02-26T07:30:19.083159+00:00 heroku[web.1]: Process exited with status 0 2019-02-26T07:30:25.950098+00:00 heroku[web.1]: Starting process with command `gunicorn project5.wsgi --log-file -` 2019-02-26T07:30:28.851068+00:00 heroku[web.1]: State changed from starting to up 2019-02-26T07:30:28.680601+00:00 app[web.1]: [2019-02-26 07:30:28 +0000] [4] [INFO] Starting gunicorn 19.9.0 2019-02-26T07:30:28.681522+00:00 app[web.1]: [2019-02-26 07:30:28 +0000] [4] [INFO] Listening at: http://0.0.0.0:57218 (4) 2019-02-26T07:30:28.681659+00:00 app[web.1]: [2019-02-26 07:30:28 +0000] [4] [INFO] Using worker: sync 2019-02-26T07:30:28.691509+00:00 app[web.1]: [2019-02-26 07:30:28 +0000] [10] [INFO] Booting worker with pid: 10 2019-02-26T07:30:28.730851+00:00 app[web.1]: [2019-02-26 07:30:28 +0000] [11] [INFO] Booting worker with pid: 11 2019-02-26T07:30:32.050252+00:00 heroku[router]: at=info method=GET path="/" host=shunka-blog.herokuapp.com request_id=c9243db5-e8d7-40f8-b57c-281532c2606a fwd="219.122.164.206" dyno=web.1 connect=1ms service=2878ms status=500 bytes=234 protocol=https 2019-02-26T07:30:32.050265+00:00 app[web.1]: 10.43.192.217 - - [26/Feb/2019:16:30:32 +0900] "GET / HTTP/1.1" 500 27 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36"
  • ブラウザ上
Server Error (500)

該当のソースコード

settings.py

python

1import os 2import dj_database_url 3import django_heroku 4 5BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 6 7DEBUG = False 8 9SECRET_KEY = *** 10 11ALLOWED_HOSTS = ['*'] 12 13 14# Application definition 15 16INSTALLED_APPS = [ 17 'blog5.apps.Blog5Config', 18 'django.contrib.admin', 19 'django.contrib.auth', 20 'django.contrib.contenttypes', 21 'django.contrib.sessions', 22 'django.contrib.messages', 23 'django.contrib.staticfiles', 24 'django.contrib.humanize', 25 'markdownx', 26 'widget_tweaks', 27] 28 29MIDDLEWARE = [ 30 'django.middleware.security.SecurityMiddleware', 31 'whitenoise.middleware.WhiteNoiseMiddleware', 32 'django.contrib.sessions.middleware.SessionMiddleware', 33 'django.middleware.common.CommonMiddleware', 34 'django.middleware.csrf.CsrfViewMiddleware', 35 'django.contrib.auth.middleware.AuthenticationMiddleware', 36 'django.contrib.messages.middleware.MessageMiddleware', 37 'django.middleware.clickjacking.XFrameOptionsMiddleware', 38] 39 40STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' 41 42ROOT_URLCONF = 'project5.urls' 43 44TEMPLATES = [ 45 { 46 'BACKEND': 'django.template.backends.django.DjangoTemplates', 47 'DIRS': [], 48 'APP_DIRS': True, 49 'OPTIONS': { 50 'context_processors': [ 51 'django.template.context_processors.debug', 52 'django.template.context_processors.request', 53 'django.contrib.auth.context_processors.auth', 54 'django.contrib.messages.context_processors.messages', 55 ], 56 }, 57 }, 58] 59 60WSGI_APPLICATION = 'project5.wsgi.application' 61 62DATABASES = { 'default': dj_database_url.config() } 63SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') 64 65AUTH_PASSWORD_VALIDATORS = [ 66 { 67 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 68 }, 69 { 70 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 71 }, 72 { 73 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 74 }, 75 { 76 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 77 }, 78] 79 80LANGUAGE_CODE = 'ja' 81 82TIME_ZONE = 'Asia/Tokyo' 83 84USE_I18N = True 85 86USE_L10N = True 87 88USE_TZ = True 89 90STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 91STATIC_URL = '/static/' 92 93# STATICFILES_DIRS = ( 94# os.path.join(BASE_DIR, 'static'), 95# ) 96 97MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 98MEDIA_URL = '/media/' 99 100os.makedirs(STATIC_ROOT, exist_ok=True) 101 102try: 103 from .local_settings import * 104except ImportError: 105 pass 106 107django_heroku.settings(locals()) 108

wsgi.py

import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project5.settings') application = get_wsgi_application()

git push heroku master

(django2) shimizushunyuunoMacBook-Pro:project5 shimizushunyuu$ git push heroku master Enumerating objects: 7, done. Counting objects: 100% (7/7), done. Delta compression using up to 4 threads Compressing objects: 100% (4/4), done. Writing objects: 100% (4/4), 349 bytes | 349.00 KiB/s, done. Total 4 (delta 3), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: -----> Python app detected remote: -----> Installing requirements with pip remote: remote: -----> $ python manage.py collectstatic --noinput remote: 222 static files copied to '/tmp/build_81a3b3c79381c655da2c216eda585d9b/staticfiles', 658 post-processed. remote: remote: -----> Discovering process types remote: Procfile declares types -> web remote: remote: -----> Compressing... remote: Done: 101.9M remote: -----> Launching... remote: Released v18 remote: https://shunka-blog.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy... done. To https://git.heroku.com/shunka-blog.git 50d10c3..2a9623c master -> master

フォルダ構成
フォルダ

試したこと

デプロイ自体はcollectstatics含め問題無く完了します。試しにDEBUG=Trueにてデプロイして見たところ、問題なく表示されましたので、静的ファイル関連の問題だと思っています。
whitenoiseを導入してもエラーが消えずお手上げ状態です。どなたか解決方法をご教授願えませんでしょうか。
(設定にはhttps://devcenter.heroku.com/articles/django-assetsを参考にしました。)
何卒宜しくお願い致します。

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

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

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

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

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

alpaka

2019/02/26 08:35

DjangoでHerokuデプロイ大変ですよね^^; 確証は無いですが、↓この設定を消したらどうなるか試してもらっていいですか? STATICFILES_STORAGE='whitenoise.storage.CompressedManifestStaticFilesStorage'
shunke434343

2019/02/26 09:33

alpakaさま ご返事ありがとうございます。 上記コメントアウトした上で試して見ましたが、変わらずserver error(500)でした…。
alpaka

2019/02/26 10:19

ALLOWED_HOSTS = ['*']を設定するとどうなりますか?
shunke434343

2019/02/26 16:18

alpakaさま ありがとうございます。 しかしながらALLOWED_HOSTS = ['*']としても変わりませんでした…
alpaka

2019/02/27 01:27

静的ファイル関連で間違いないと思うんですけどねー、 Stackoverflowみてましたが上記2つの設定はいるみたいです。 あとは実際にHerokuのなかでちゃんとcollect staticができているか見てみるとかですかね。staticfilesディレクトリ配下に静的ファイルが一式あるかどうか。heroku run ls パス名 で見れると思います。
shunke434343

2019/02/27 04:21

alpakaさま 度々のお返事どうもありがとうございます。 質問にgit push時のの表示とファイル構成のわかる画像を追加しました。 root直下のstaticfilesに静的データは集約されていると思いますが、 この状態で正しいでしょうか?
alpaka

2019/02/27 08:51

確かに集約されていますね。 とすると STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' 必要なのか、そもそもsettings.py内のSTATIC関連の設定が間違っている可能性があるかもです。 こちらのURLの記事を参考に設定を変えてみていろいろ試行錯誤していただいたほうがよいかもです。解決できずすみません。 ・Django静的ファイルまとめ https://qiita.com/okoppe8/items/38688fa9259f261c9440 ・その他参考 https://stackoverflow.com/search?q=whitenoise+500+Debug+Heroku+
shunke434343

2019/02/27 11:12

alpakaさま もう一度一から設定を見直してみようと思います。 ありがとうございます。
guest

回答2

0

結局EC2にデプロイすることにしました。
そちらではちゃんとDEBUG=FALSEでも動いているので解決とさせていただきます。
ありがとうございました。

投稿2019/02/28 04:35

shunke434343

総合スコア22

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

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

0

自己解決

結局EC2にデプロイすることにしました。
そちらではちゃんとDEBUG=FALSEでも動いているので解決とさせていただきます。
ありがとうございました。

投稿2019/02/28 04:34

shunke434343

総合スコア22

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問