Djangoでアプリを作る~その3 デプロイ~

プログラミング

Djangoでアプリを作る~その2 下準備~」の続きです。

今回は実際にherokuのサーバーにデプロイしていきます。

スポンサーリンク

herokuに登録

まず、herokuに登録してない方は登録しましょう。

Heroku | Sign up
Sign up for a Heroku developer account and get started building your apps on Heroku.

下準備

デプロイする前に下準備をします。

django-herokuのインストール

まず、開発環境を起動して、プロジェクトディレクトリに入ります。(僕の場合はtranslationディレクトリ)

Project
|_translation ←ここ
   |-translation
   |_translatoinapp

入ったらdjango-herokuをインストールします。これをインストールすることによって、デプロイに必要なパッケージを準備することができます。

以下のコマンドを入れてください。

pip install django-heroku

gunicornのインストール

次にgunicornをインストールします。

pip install gunicorn

gunicornはProcfileを作るときに使います。

実行環境ファイルをつくる

プロジェクトディレクトリに2つの実行環境ファイルを作ります。

以前にも作った、Procfileとrequirements.txtです。

echo "web: gunicorn アプリ名.wsgi --log-file -" | Out-File Procfile -Encoding ascii

pip freeze > requirements.txt 

Procfileのプロジェクト名のところにはプロジェクトフォルダの名前を入れてください。

(僕の場合はtranslationと入れます)

その他ファイルをいじる

local_settings.py

そのほか重要なファイルを編集していきます。

まず、local_settings.pyです。

これは、開発環境独自の設定を定義するファイルです。

translation(プロジェクトディレクトリ)/local_settings.py を新しく作成し以下のコードを入力してください。

import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

DEBUG = True

settings.py

次にsettings.pyを編集します。

これはもうすでにあるファイルなので、新たにつくる必要はありません。

translation(プロジェクトディレクトリ)/translation/settings.pyにあります。

そこの一番下に以下のコードを追加してください。

DEBUG = False

try:
    from .local_settings import *
except ImportError:
    pass

if not DEBUG:
    import django_heroku
    django_heroku.settings(locals())

.gitignoreの作成

最後に.gitignoreというファイルを作ります。

herokuはgitで管理されているのですが、.gitignoreはgitに管理されたくないファイルを記述しておくところです。

同じディレクトリに.gitignoreファイルを作成し、以下のコードを入力してください。

<開発環境の名前>
__pycache__
staticfiles
local_settings.py
db.sqlite3
*.py[co]

デプロイする

いよいよデプロイです。

まず、herokuにログインして、アプリ(これがURLに使われます。)の名前をつけます。

heroku create (アプリ名)

そうしたら、いつものように以下のコードでデプロイしょう。

git init                                
git add .                            
git commit -m "first commit"
git push heroku master

さて、デプロイができたら

URLをブラウザに打ってみましょう!

https://<heroku create で入力したアプリ名>.herokuapp.com/<アプリ名>/<プロジェクト名>/

で出てきたら成功です!

僕の場合はhttps://konnyakuhonyaku.herokuapp.com/translateapp/translation/

でしっかり表示されました!!

翻訳もできました!

参考

[Django] Heroku デプロイ方法 2018年版 - Qiita
この記事についてHerokuへのDjangoアプリケーションのデプロイ方法についての初心者向けのまとめです。内容はチュートリアルと同様、Freeレベルに最小構成のアプリをデプロイするまでとなります。…
Django
The web framework for perfectionists with deadlines.
DjangoアプリをHerokuにデプロイする方法 - Qiita
概要DjangoアプリをHerokuにデプロイする方法を書いてみます。なお、環境はpython 3.7.3、django 2.2Herokuアカウントを持っている前提になりますので、登録がまだ…
静的ファイルを扱うDjangoアプリをPyCharmで作ってSECRET_KEYは秘匿しつつGitHub経由でHerokuにデプロイする - Qiita
はじめにPythonプログラミング歴7ヶ月の中で、Djangoで作ったWebアプリケーションをHerokuにデプロイすることは何度も実施してきましたが、DjangoやHerokuの知識を少しづつ得…
タイトルとURLをコピーしました