1

Heroku の最初の Django アプリで静的ファイルとメディア ファイルに使用するように Amazon S3 をセットアップしようとしています。プロセスはかなりスムーズに進みましたが、./manage.py collectstatic を実行して静的ファイルを AS3 バケットにコピーすると、次のエラーが表示されます。

  File "manage.py", line 12, in <module>
  import settings
  File "/Users/me/djangoprojects/project/project/settings.py", line 165, in <module>
  EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME']
  File "/Users/me/djangoprojects/env/bin/../lib/python2.7/UserDict.py", line 23, in __getitem__
  raise KeyError(key)
  KeyError: 'SENDGRID_USERNAME'

これまでのところ、sendgrid の設定は展開のために機能しています。

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME']
EMAIL_HOST_PASSWORD = os.environ['SENDGRID_PASSWORD']
EMAIL_PORT = 587
EMAIL_USE_TLS = True

このエラーが原因でファイルが AS3 バケットにコピーされていないため、何が問題なのかわかりません。どんな洞察や経験でも大歓迎です。

4

2 に答える 2

1

コンパイル中に環境変数を有効にする必要があります。heroku docsを確認してください(「ビルド中の構成変数」に関するセクションまでスクロールします)。

怠け者の場合:

heroku labs:enable user_env_compile -a myapp
于 2012-07-09T03:17:44.727 に答える
0

Sendgrid を使用して Django アプリを Heroku レビュー アプリにデプロイする際に、同じエラーが発生しました。私たちの構成は、GitHub で新しい PR が開かれるたびにレビュー アプリをスピンアップすることでした。

問題は、app.json の Sendgrid の構成が既存の PR に追加されたため、新しいアプリの生成をトリガーしなかったことが判明しました。少なくとも Heroku レビュー アプリの場合、アドオンはアプリが初めてデプロイされたときにのみ生成されます。その結果、Heroku レビュー アプリには Sendgrid アドオンがなく、失敗していました。

解決策は、別のブランチをチェックアウトし、GitHub にプッシュして、Heroku に新しいレビュー アプリをゼロから生成させることでした。

于 2016-12-09T01:06:42.843 に答える