Heroku CLIを使用してHerokuにDjangoプロジェクトを配備する


こんにちは。


私がHerokuに私のプロジェクトを展開するたびに、私は間違いをして、若干のステップを忘れました.しかし、今日は私とあなたのためにここでそれらを記録することを決めたので、もう.
私は、エラーを引き起こすかもしれないか、展開で失敗を引き起こすことができたということを知っているすべてを含みます.

では始めましょう

ファイルの準備とチェックを行います。

  • 静的ファイルファイルdirs
  • プロジェクトの設定でStaticFileChordのdirsを持っていないと、展開に失敗しますので、この行を必ず確認してくださいSTATICFILES_DIRS =[os.path.join(BASE_DIR, 'static')]
  • procfile
  • ルートディレクトリにprocfileを追加し、プロジェクトとapp/sの同じレベルで、アプリケーションを起動するためにどのコマンドを実行すべきかを明示的に宣言し、この行をファイルに追加する必要がありますweb: gunicorn myproject.wsgiそして、あなたのプロジェクト名で「MyProject」を取り替えて、Gunicornをインストールすることを確認してください、あなたはPIP Install Gunicornまたは詩を加えるように多くの方法でそれをインストールすることができます
  • 要件を作成します.txtファイル
  • Herokuは、要求ファイルを読むことによって、そのサーバーにインストールするライブラリを知っています.
    あなたが詩を使用しているならば、あなたがファイルと彼らのバージョンをファイルにコピーするために、コマンドラインでタイプすることができる1行は、ここにあります
    poetry export -f requirements.txt --output requirements.txt --without-hashes
    
    またはPIPを使用している場合、このコマンドを実行します.
     pip freeze > requirements.txt
    
  • は許可されたホスト
  • をチェックします
    あなたの中であなたの許可されたホストリストならば.ENVファイルおよび/または設定は、localhostの場合は、問題が発生します.だからあなたのようなリストにHerokuアプリのURLを追加することができますALLOWED_HOSTS = ['mydjangoapp.herokuapp.com']を使用することによってすべてのホストを許可することができますし、罰金ですし、あなたのherokuアプリを作成した後、それを変更することができますし、実際のURLリンクを持って
  • は、すべてがあなたのローカル
  • でちょうどうまく働いていることを確認します
    今すぐ開始する準備ができて、あなたのコマンドラインで右のディレクトリに立っていることを確認します.ここでHerokuの公式ウェブサイトによる手順「コマンド」です.
  • Herokuログイン
  • Heroku create mydjangoapp -- buildpack heroku/python
  • git init
  • Heroku Git :リモート- MydJangoApp
  • git add
  • git commit - m "私の最初のコミット"
  • GitプッシュHerokuメイン
  • あなたの展開が成功した場合は、すべてのあなたのアプリケーションを正常に展開おめでとう.
    エラーがあるならば、これらはいくつかの提案です.
  • 集合でエラーメッセージを取得した場合、このコマンドを書きます.
  • heroku config:set DISABLE_COLLECTSTATIC=1
    
  • WhitenoiseとPsycopg 2をインストールします+プロジェクト設定
  • のMiddleWareリストの上部にWhitenoiseを追加します'whitenoise.middleware.WhiteNoiseMiddleware'さて、データベースを持っていることについて話しましょう
    1 -我々はCLGiを通して我々のHerukoプロジェクトにPostgreSQLを加える必要があります
    heroku addons:create heroku-postgresql:hobby-dev -a mydjangoapp
    
    
    PostgreSQLの情報を見て、それらをconfig
    このコマンドを使うことができます.
    heroku config:get DATABASE_URL -a <your_heroku_app_name>
    
    URLから取得する情報の順序は次のようになります.postgres://<username>:<password>@<hostname/server>/<databasename>次に、コピーするコマンドを示します.EVV VARSをHerokuの設定vars :
    heroku config:set $(cat .env | sed '/^$/d; /#[[:print:]]*$/d')
    
    2 -移動を作りましょう
    heroku run python manage.py makemigrations
    
    3 - Herokuデータベースに移行する
    heroku run python manage.py migrate
    
    4 -また、スーパーユーザーを作成することができます
    heroku run python manage.py createsuperuser
    
    そして、我々は終わりまで達します..良い展開をする😊

    参考文献


    https://devcenter.heroku.com/articles/git