アプリをherokuで動作させるためにいくつかのことを試みましたが、今はアイデアがありません。プロジェクトを heroku の担当者にインストールできますが、500 エラー コードが表示されます。私のアプリケーションは、django の heroku ドキュメントに記載されている手順に従った後、自分のマシンで virtualenv を使用して非常にうまく動作します。
「git push heroku master」を実行してブラウザで試すと、次のエラーが表示されます。
2013-07-07T15:39:11.170514+00:00 app[web.1]: ImportError: No module named apps.base
2013-07-07T15:39:11.170059+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/dateformat.py", line 35, in format
2013-07-07T15:39:11.170202+00:00 app[web.1]: app = import_module(appname)
2013-07-07T15:39:11.170202+00:00 app[web.1]: default_translation = _fetch(settings.LANGUAGE_CODE)
2013-07-07T15:39:11.170202+00:00 app[web.1]: _default = translation(settings.LANGUAGE_CODE)
heroku でサポートされていないディレクトリ構造が原因と思われたので、django startproject コマンドで作成されたデフォルトのディレクトリ構造から調整しました。
これが私の新しいファイル構造です。私はどこでもインポート参照を調整し、私が言ったように、私はローカルでうまく動作します:
manage.py
Procfile
requirements.txt
vielfaltig
|____apps
| |____base
| | |____models.py
| | |____templates
| | |____tests.py
| | |____urls.py
| | |____views.py
| |____projects
| | |____admin.py
| | |____models.py
| | |____templates
| | |____templatetags
| | |____tests.py
| | |____translation.py
| | |____urls.py
| | |____views.py
|____locale
|____media
|____settings.py
|____static
|____urls.py
|____vielfaltig.db
|____wsgi.py
お気づきのとおり、2 つのアプリ (ベースとプロジェクト) があります。コードでは、たとえば「vielfaltig.apps.base」を使用してそれらをインポートします。これをあちこち変えました。以前にこのエラーが発生し、エラーをグーグルで検索したときに読んだ内容に従ってディレクトリ構造を変更しました。また、すべてをルート ディレクトリに配置しようとしました (requirements.txt および procfile と共に)。どこでも「vielfaltif.apps.base」を使用してアプリを参照しているときに、「apps.base」の ImportError が表示され続ける理由がわかりません... ?
誰にもアイデアがありますか?必要に応じて settings.py を貼り付けます。今のところ、かなりのスペースが必要だと思います。
助けてくれてありがとう!