自分でプログラミングをして、Webサービスを作りたいです。
DjangoとHerokuを使えば、
無料でサービスを作ることができるぞ。
✔️ 本記事のテーマ
DjangoとHerokuを使って、Webサービスを作る方法
✔️ 読者さんへの前置きメッセージ
本記事は「DjangoとHerokuで無料でWebサービスを作る方法」について書いています。
この記事を読むことで「DjangoとHerokuをセットで使って、無料でWebサービスを作るまで」をイメージできるようになります。
DjangoはPythonによるWebアプリケーションフレームワークです。
Herokuは無料で使える軽量なアプリケーションサーバーです。
このDjangoとHerokuをセットで使うことで、
「手軽に」かつ「無料で」Webサービスを作ることができます。
なお、PythonとHerokuの相性の良さについては
「HerokuとPythonは相性が良いという話」の記事で解説しています。
Django(Pythonフレームワーク)とは?
Django(ジャンゴ)は、
Python用のWebアプリケーションフレームワークです。
オープンソースとして公開されているので、無料で使うことができます。
Webアプリケーションフレームワークとは、Webアプリケーションを開発する際によく使われる機能がまとまったソフトウェアのことです。
Djangoを使うことで、コンテンツ管理システムやニュースサイトやSNSサイトを、手軽に作成することができます。
個人開発でアプリケーションを作るときでも、Djangoを使うことで短い期間で、かつ、高品質なアプリケーションを完成させることができます。
最近では、Instagramなどでも採用されていることから、その注目度が高まっているフレームワークといえるでしょう。
Djangoの使い方やメリットの詳細については
「Djangoの使い方【Pythonフレームワーク】」の記事で解説しています。
Herokuとは?
Herokuとは、Web上でサービスを運用するためのホスティングサービスです。
ホスティングサービスとは、
- ネットワークなどのインフラ
- OSなどのプラットフォーム
がセットで用意されているサービスです。
これにより、開発者はインフラ面の面倒ごとを無視できるので、
アプリケーションの開発に集中することができます。
なお、Herokuを無料でフル活用する方法については
「Herokuを無料でフル活用する方法」の記事で解説しています。
DjangoとHerokuの相性の良さ
どちらもWebアプリケーションを作るために便利なフレームワークやサービスです。
このDjangoとHerokuはセットで使うことでより大きな効果を発揮します。
ちなみに、どちらも無料で使うことができます。
Djangoでサクッとアプリケーション作って、HerokuでWeb上に公開するという流れでスピード感のある開発が可能になります。
また、DjangoとHerokuは連携しやすい機能が用意されています。
Puthonライブラリでも「django-heroku」というライブラリが用意されています。
このライブラリは優秀で、DjangoとHerokuを連携するための面倒ごとを上手いことやってくれます。
このように、DjangoとHerokuはセットで使うのに都合が良いので、
なるべくセットで使いましょう。
なお、Django(Pythonフレームワーク)の使い方については
「Djangoの使い方【Pythonフレームワーク】」の記事で解説しています。
次から、DjangoとHerokuをセットで使う方法を解説していきます。
HerokuにDjangoアプリケーションをデプロイする方法
HerokuにDjangoをセットで使うのは、比較的簡単です。
HerokuにDjangoアプリケーションをデプロイするには、以下の手順で行います。
- 必要なライブラリをインストールする
- 実行環境ファイルを作成する
- プロジェクトの設定ファイルを修正する
- Gitでコミットする
- Herokuコマンドでデプロイする
順番に、詳しく解説していきましょう。
必要なライブラリをインストールする
DjangoアプリケーションをHeroku上で稼働させるために、
必要なライブラリをインストールします。
pip install gunicorn django-heroku
gunicorn
, django-heroku
の二つを入れておけば、
だいたい問題なく動くのでOKです。
実行環境ファイルを作成する
Djnagoアプリケーションの実行環境をHerokuに伝えるファイルをプロジェクトディレクトリ直下に作成します。
作成するファイルは、「runtime.txt」「Procfile」「requirements.txt」の3つです。
runtime.txt
Pythonバージョンを記載するファイルです。
決まった形式で記述する必要があります。
python-3.6.6
Procfile
Herokuプロセスの起動コマンドを記載するファイルです。
<your-project-name>は自身のプロジェクト名に読み替えて下さい。
web: gunicorn <your-project-name>.wsgi --log-file -
requirements.txt
依存パッケージのリストを記載します。
以下のように、pip freezeコマンドの出力結果をそのままファイルにしましょう。
pip freeze > requirements.txt
プロジェクトの設定ファイルを修正する
Djangoプロジェクト内のsettings.pyの「DEBUG = Ture」の部分を本番運用向けに変更します。
TrueをFalseに書き換えると、本番で稼働できるようになります。
DEBUG = False
Gitでコミットする
Gitでローカルリポジトリの作成 & コミットを行います。
git init
git config user.name "Your Name"
git config user.email you@example.com
git add .
git commit -m "first commit"
Herokuコマンドでデプロイする
HerokuコマンドでHerokuにデプロイします。
heroku loginコマンド実行時にブラウザが立ち上がり、Herokuの認証を求められます。
ログインした後、ブラウザを落とさずにターミナルに戻ると後続の作業が行えます。
heroku login
heroku create <your-app-name>
git push heroku master
heroku ps:scale web=1
heroku run python manage.py migrate
以上でデプロイ作業は完了です。
DjangoやHerokuについてもっと学ぶなら
DjangoやHerokuはその手軽さから、
システム開発の現場から個人開発まで、幅広い場面で利用されています。
特にDjangoはPythonフレームワークの中では最も有名なフレームワークなので、
汎用性のあるスキルと言えるでしょう。
Djangoを基礎から学ぶためには以下の書籍がオススメです。
この書籍は Django について業務で必ず役に立つ実践的な観点で書かれています。
ユーザーモデルのカスタマイズ方法、認証処理のベストプラクティスなど
その解説は具体的で実践的です。
その一方で、モデルやビュー、テンプレートといった基本概念の解説も詳しく書かれています。
これから Django を学ぶ方にもより深く Django を学ぶ方にもオススメの書籍です。
エンジニアとしての自身の価値をチェックする(完全無料)
エンジニアとして、
自分の価値がどれくらいのものかご存知でしょうか?
エンジニアとしてIT業界に身を置いていると
今の会社でずっと働くのか、フリーランスとして独立するのか …
と様々な選択肢があります。
どの選択肢が正解なのかを見極めるためにも、選択肢を広げるためにも
自身の価値を知っておくことはとても重要です。
TechClips ME では、
職務経歴書をアップロードするだけで企業からのスカウトを受けることができます。
▼▼▼▼▼
▲▲▲▲▲
しかもTechClips MEでは想定年収を企業から提示してくれるので、
自身の価値を数字で分かりやすくたしかめることができます。
登録はもちろん完全無料なので、一度登録してみると良いかもしれません。
コメント