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

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

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

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

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Heroku

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

Q&A

1回答

412閲覧

Django:gitでpushは出来たのですがheroku openを押すとApplication errorが出てしまいます。

z6Goz6t76bFDl1M

総合スコア1

Django

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

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Heroku

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

0グッド

0クリップ

投稿2021/01/08 04:18

前提・実現したいこと

pushは成功しているのですがheroku openで開くと
イメージ説明
と出力されます。そこでエラーメッセージにある
heroku logs --tailを実行すると以下のようなエラーメッセージが出力されます。

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

heroku logs --tail 2021-01-08T03:21:37.660416+00:00 app[api]: Initial release by user jfuyong97@gmail.com 2021-01-08T03:21:37.660416+00:00 app[api]: Release v1 created by user jfuyong97@gmail.com 2021-01-08T03:21:38.119224+00:00 app[api]: Enable Logplex by user jfuyong97@gmail.com 2021-01-08T03:21:38.119224+00:00 app[api]: Release v2 created by user jfuyong97@gmail.com 2021-01-08T03:22:02.655838+00:00 app[api]: Release v3 created by user jfuyong97@gmail.com 2021-01-08T03:22:02.655838+00:00 app[api]: Set DISABLE_COLLECTSTATIC config vars by user jfuyong97@gmail.com 2021-01-08T03:22:14.000000+00:00 app[api]: Build started by user jfuyong97@gmail.com 2021-01-08T03:22:56.054832+00:00 app[api]: Deploy 8763f3d6 by user jfuyong97@gmail.com 2021-01-08T03:22:56.054832+00:00 app[api]: Release v4 created by user jfuyong97@gmail.com 2021-01-08T03:22:56.070930+00:00 app[api]: Scaled to web@1:Free by user jfuyong97@gmail.com 2021-01-08T03:23:03.026677+00:00 heroku[web.1]: Starting process with command `python project.wsgi --log-file -` 2021-01-08T03:23:05.000000+00:00 app[api]: Build succeeded 2021-01-08T03:23:07.173429+00:00 app[web.1]: python: can't open file 'project.wsgi': [Errno 2] No such file or directory 2021-01-08T03:23:07.522448+00:00 heroku[web.1]: State changed from starting to crashed 2021-01-08T03:23:22.859635+00:00 app[web.1]: python: can't open file 'project.wsgi': [Errno 2] No such file or directory 2021-01-08T03:23:23.017887+00:00 heroku[web.1]: Process exited with status 2 2021-01-08T03:23:57.027302+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=whispering-shelf-64841.herokuapp.com request_id=a6c1535e-9192-49a4-9b4c-cc704a1680d5 fwd="180.144.163.167" dyno= connect= service= status=503 bytes= protocol=https _id=d5b9ab0f-716b-4ad1-8cfa-0bfdd102a489 fwd="180.144.163.167" dyno= connect= service= status=503 bytes= protocol=https

該当のソースコード

2021-01-08T03:23:07.173429+00:00 app[web.1]: python: can't open file 'project.wsgi': [Errno 2] No such file or directory
2021-01-08T03:23:07.522448+00:00 heroku[web.1]: State changed from starting to crashed
このエラー文に狙いを定めて調べてみてもわかりませんでした。

**Procfile** web: python project.wsgi --log-file -
**project/wsgi.py** import os from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') application = get_wsgi_application()

試したこと

以下のコマンドで試しています。
runtime.txtまでは最初の1回で作成した後はほとんど触っていません。
ただ上記のエラーメッセージで記されている通りproject.wsgiがないとのことなのですが
setting.pyとwsgi.pyはprojectの中に入っていますので何が起こっているのか自分でもわからない状態です。

()内のmigrateはmanageg.pyがappの中ではなくhelloworld直下にありNo Such file となったので
$ heroku run python helloworld.com/manage.py migrate
を試してみましたがダメでした。

$ echo web: gunicorn project.wsgi --log-file - > Procfile
$ pip freeze > requirements.txt
$ echo python -3.8.5 > runtime.txt
$ git init
$ git add .
$ git commit -m "first commit"
$ echo pycache\ndb.sqlite3\n.DS_Store\nlocal_settings.py > .gitignore
$ heroku create
$ heroku config:set DISABLE_COLLECTSTATIC=1
$ git push heroku master
$ heroku ps:scale web=1
($ heroku run python manage.py migrate)
$ heroku open

補足情報(FW/ツールのバージョンなど)

ファイルの階層としては以下の通りです。
イメージ説明

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

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

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

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

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

guest

回答1

0

Procfile

Procfile

1web: python project/project.wsgi --log-file -

と書き換えてみましょう。Heroku はリポジトリのディレクトリでコマンドを実行します。つまり helloworld/にいる状態なのです。そこには project.wsgi はないはずですから、project/project.wsgi まで指定してあげないといけません。

投稿2021/01/08 04:42

A_kirisaki

総合スコア2853

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

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

z6Goz6t76bFDl1M

2021/01/08 08:03

回答ありがとうございます。今僕はapp1でコマンドを実行しているのですがhelloworldで実行すべきなんでしょうか?根本的な質問ですみません。
z6Goz6t76bFDl1M

2021/01/08 17:42

出来ました!上記の通り実行するprojectが違ってました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問