4_Django REST framework応用 ~データベースの設定~

Django REST framework
とんぺい
とんぺい

師匠、こんにちはだブゥ〜!今日もDRF(Django Rest Framework)の応用編を勉強しに来たブゥ!

師匠
師匠

とんぺいくん、こんにちは。前回は、管理画面のカスタマイズを行ったね。今回は「PostgreSQL」をアプリケーションのデータベースとして用いるための設定を行っていくよ。

とんぺい
とんぺい

基本編ではDjangoにデフォルトで用意されていた「SQLite」を使ったけど、応用編では「PostgreSQL」を使うんだブゥね!今日もよろしくお願いします!!

注意

  • ソースコードの中に「[」という文字列がありますが” [ “が文字化けしたものです。
  • 同じく「&&」とありますがこちらは「&&」となります。
  • 修正法が判明次第修正します。

ソースコード

docker-compose.ymlにDBの追加

師匠
師匠

今回はDockerを使ってDBサーバーを仮想的に構築する方法を学習していくよ。docker-compose.ymlを開いて以下のようにコードを記述しよう。

とんぺい
とんぺい

コメントに「.envファイル」という文言が出てくるんだけどこれは何なんだブゥ?

師匠
師匠

.envファイルは本番環境や開発環境など環境ごとに用いられる環境変数を書いておくところだよ。基本的には他者に知られたくないけど、コードに組み込みたい値を記述するんだ。

とんぺい
とんぺい

なるほどぉ〜。今回の場合だと、DBのパスワードとかは他人に知られたらまずいから、.envファイルに記述していて、それを読み込んでいると言うことだブゥね!

.envファイルを作成し環境変数の設定

師匠
師匠

では、docker-compose.ymlで読み込むための環境変数を.envに記述しよう。.envを新規に作成し、以下のように記述するよ。

とんぺい
とんぺい

ふんふん。それぞれ、docker-compose.ymlで読み込みたい変数名に値を代入しているブゥね!

Dockerfileの修正

師匠
師匠

では、環境変数の設定も完了したら、PostgreSQLを使用するためのパッケージ群を以下のようにDockerfileに記述するよ。

とんぺい
とんぺい

apkっていうのは初めて見たブゥ!

これは何なんだブゥか??

師匠
師匠

apkというのはAlpine Linuxで用いられるパッケージマネージャのことだよ。今回、DockerイメージはAlpine Linuxベースで作成されているのでapkを用いて必要なパッケージの追加や削除を行うんだ。

とんぺい
とんぺい

なるほど〜!

 Reactで使ったyarnやnpmみたいなものだブゥね!

師匠
師匠

その通りだ。では、Dockerfileの修正が完了したらterminalで以下のコマンドを入力してDockerイメージを更新しよう。

とんぺい
とんぺい

Dockerイメージのビルドにも無事に成功したブゥ!

settings.pyの修正

師匠
師匠

では最後にappフォルダ内のsettings.pyを修正して、Django内でPostgreSQLが使用されるように設定を行うよ。以下のようにsettings.pyを修正しよう。

とんぺい
とんぺい

今までデフォルトでSQLiteを使用すると記述されていた箇所だブぅね!os.environ.get('')で環境変数が取得できるブゥ!

まとめ

師匠
師匠

では、本日はここまでだ。以下の内容を学習したね。

  • Dockerを用いたDBサーバの設定
  • 環境変数について
  • Alpineのパッケージマネージャ「apk」
  • settings.pyに使用するDBを登録
とんぺい
とんぺい

本日はありがとうございました!

また次回が楽しみだブゥ!

師匠
師匠

次回はMOCを用いたテスト方法を一緒に学習するよ。

それでは、また次回!

参考

コメント

  1. […] とんぺいくん、こんばんは。前回は、PostgreSQLをDjango上で使用するための設定を行ったね。今回は「Mock」を用いたDBの接続テストを実装するよ。 […]

タイトルとURLをコピーしました