Python プログラミング

Django + MySQLの環境をPipenv + Dockerで構築する

投稿日:

DockerとPipenvを使ってDjango + MySQLのローカル開発環境を作ります!

 

え、Docker使うならPipenvいらなくない??

 

という意見もあると思うのですが、

普段からPythonで開発するときはPipenvを使っているのでこのまま併用させてください笑。

 

なので今回の最終的なやりたい事としては以下になります。

 

  • PipenvでDjangoのプロジェクトを作る
  • DockerでMySQLのコンテナを作る
  • DjangoからMySQLに接続する

 

 

【厳選】Udemyでセール時に購入すべきオススメの動画Part2【どの分野にも役立つ】

エンジニアの皆さま!これからエンジニアを目指す皆さま!Udemyは有効に使っていますか?? 以前にUdemyでセール時に絶対買っておいた方が良い動画を分野別に分けて以下の記事で紹介しました。 &nbs ...

続きを見る

 

プロジェクト〜アプリケーション作成

まずは、djangoのプロジェクトを作成します。

 

 

後述するMySQLパッケージはPyMySqlしますが、Djangoの2.2系?以降ではサポートされていないようなので、Django2.1.x系をインストールします。

 

アプリケーションを作成し、settings.pyに追記します。

 

 

settings.py

 

データベースをsqliteからMySQLにする

djangoではデフォルトでsqliteを使用することになっているので、settings.pyを編集してMySQLを使うようにします。

 

settings.py

 

DockerでMySQLのコンテナを作成

docker-composeを使って接続先のMySQLコンテナを作成します。

 

docker-compose.yml

 

作成ができたら、コンテナを起動します。(あとで行ってもOK!)

 

PyMySQLをインストール

Djangoから接続するために、Pipenvでmysqlclient(パッケージ)をインストールします。

 

manage.pyにPyMySQLの使用を追加します。

manage.py

 

コメントで追加部分と記載したところ追加してください。

 

マイグレートしてDjangoを起動してみる。

上記で接続周りの設定は完了なので、最後にマイグレートして起動してみます。

 

 

http://127.0.0.1:8000/にアクセスしエラーが出なければOK。

 

DjangoからMySQLをいじってみる。

環境ができたので、実際にDjangoからMySQLをいじってみます!

アプリケーションフォルダ(settings.pyがあるところ)に「db.py」を以下の内容で作成します。

 

テストデータを投入

先にMySQL上にテストデータを作っておきます。

コンテナで起動したMySQLに接続し、以下を実行。

 

 

Select

読み込んだ値を適当なViewに表示して確認します。

 

まずは表示用のテンプレートファイルとして、以下のように「app/templates/base.html」 , 「app/templates/index.html」を作成します。

 

base.html

 

index.html

 

 

次に、MySQLアクセス用に「app/db.py」を以下の内容で作成します。

 

db.py

 

 

次に、view表示用に「app/views.py」を以下の内容で作成します。

 

views.py

 

 

最後に、ルーティング用に「app/urls.py」を作成し、プロジェクト名直下のurls.pyにインクルードします。

 

app/urls.py

 

 プロジェクト名/urls.py

 

この状態でサーバーを起動して、データが取れるか確認します!

 

 

http://127.0.0.1:8000/app/index/

 

上記にアクセスし、以下のような表示になれば成功です。

 

 

DjangoでMySQLはめちゃくちゃ使いやすい!

今回は、Django + MySQLの環境を作成して確認しました。

手順は多くなってしまいましたが、実際にMySQLに接続する部分はとても簡単です!!

 

ガンガン使っちゃいましょう。

 

 

【厳選】Udemyでセール時に購入すべきオススメの動画Part2【どの分野にも役立つ】

エンジニアの皆さま!これからエンジニアを目指す皆さま!Udemyは有効に使っていますか?? 以前にUdemyでセール時に絶対買っておいた方が良い動画を分野別に分けて以下の記事で紹介しました。 &nbs ...

続きを見る

 

よく読まれている記事

1

  現在5年目のエンジニアで26歳です。 今回は20代の現役エンジニアとして、自分も含め転職について考えている方に向けて20代エンジニア転職に完全特化したおすすめのサービスを3つ紹介していき ...

2

これからエンジニアになりたい、プログラミングを使えるようになりたいという方に向けて 山のようにあるプログラミングスクールの中から、特におすすめなスクールをタイプ別に逆引きで3つ紹介します。 &nbsp ...

3

みなさんはを使っていますでしょうか。   本記事を見ていただいているということは、   プログラミングの勉強でを使うことに興味がある、 もしくはこれから動画を購入したいけどどれを買 ...

-Python, プログラミング
-, , ,

Copyright© クラインの備忘壺 , 2019 All Rights Reserved.