エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
普段はフリーランスでシステムエンジニアをしております。
今回は、こちらの記事で作成したDjango Rest Framework(DRF)のAPIサーバをGitHubに公開しているので、Gitを使ってローカルのWindows PCで再現する方法をまとめてみました。
この再現方法は、Django特有の手順も含まれますが、GitHubにある他のPythonコードを再現するときにも役立つ内容となっています。
開発ツールとしてVisual Studio Code (VS Code) を使用しているため、同様に確認したい方は、こちらの記事でVS CodeでPythonの開発環境を構築してみてください。
Django Rest Framework(DRF)の開発環境再現方法
GitHubにあるDjango Rest Framework(DRF)のプロジェクトをローカルPCで環境を再現する方法を紹介していきます。
Gitクローン(git clone)
こちらの記事で作成したDjango Rest Framework(DRF)のAPIサーバをGitクローンするため、以下のgitコマンドを実行します。
1 |
git clone https://github.com/miura0617/django-drf-usage.git |
Gitクローンすると、以下のようなファイル群がローカルPCに展開されます。
PCにGitを導入しておらず、git cloneコマンドができない方は、こちらの記事に従ってGitを導入してください。
フォルダ移動(cd)
Gitクローンができてら、以下のcdコマンドでフォルダ移動しましょう。
1 |
cd django-drf-usage |
仮想環境を作成して仮想環境を有効化(venv)
次は、仮想環境を作成し、有効化していきます。
まずは、以下のコマンドで仮想環境(venv)を作成します。
1 |
python -m venv venv |
そして、以下のコマンドで仮想環境を有効にします。
1 |
venv\Scripts\activate |
下図の赤枠のようにVSCodeのターミナルの行頭に「(venv)」が表示されていれば、仮想環境の有効化は完了です。
仮想環境にrequirements.txtを使って開発環境を復元
先程有効化した仮想環境に対して、GitHubと同じPythonの開発環境を復元するため、以下のpipコマンドを実行します。
1 |
pip install -r requirements.txt |
なお、requirements.txtがGitHub上に公開されていない場合、全く同じ環境を再現することは困難になります。
requirements.txtを使って、開発者と同じPythonの外部モジュールとそのバージョンを復元するからです。
requirements.txtがない場合、同じ外部モジュールの最新版で再現することもありますが、外部モジュールのバージョンが異なることで再現しないことが多々あります。
仮想環境にインストールされた開発環境を確認
仮想環境にGitHubと同じ開発環境が構築できているか確認するため、以下のpipコマンドを実行します。
1 |
pip freeze |
下図のようにDjangoとdjangorestframeworkがインストールされていることを確認してください。
SECRET_KEYを生成
これ以降がPythonの中でもDjangoの開発プロジェクトを再現するために必要な手順になります。
Djangoのsettings.pyと同じフォルダに「get_random_secret_key.py」を作成し、以下のPythonプログラムを実装してください。
1 2 3 4 5 |
from django.core.management.utils import get_random_secret_key secret_key = get_random_secret_key() text = 'SECRET_KEY = \'{0}\''.format(secret_key) print(text) |
プログラムを実装後、以下のコマンドでファイルを実行してください。
1 |
python project\get_random_secret_key.py |
get_random_secret_key.pyを実行すると、ターミナルにSECRET_KEYが表示されるので記録しておきましょう。
local_settings.pyにSECRET_KEYを定義
Djangoのsettings.pyと同じフォルダに「local_settings.py」を作成し、先程生成したSECRET_KEYを以下のように定義します
1 2 |
# SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'django-insecure-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' |
定義した後、ファイルをセーブしたらオッケーです。
モデルを生成
次は、Djangoのモデルを生成するため、以下の2つのコマンドを実行します。
1 2 3 |
python manage.py makemigrations python manage.py migrate |
スーパユーザを作成(createsuperuser)
Djangoのadminダッシュボードで動作確認するため、以下のコマンドでDjangoのスーパユーザを作成しておきましょう。
1 |
python manage.py createsuperuser |
ユーザ名、E-mail、パスワード、パスワード(再入力)をしてスーパーユーザを作成できます。
サーバを起動(runserver)
DjangoのAPIサーバを起動するため、以下のrunserverコマンドを実行します。
1 |
python manage.py runserver |
Django Rest Framework(DRF)のAPIサーバ動作確認方法
DjangoのAPIサーバを起動したところで、動作確認を行っていきましょう。
Djangoのadminダッシュボード管理画面にログイン
「http://127.0.0.1:8000/admin/」のDjangoのadminダッシュボード管理画面にアクセスし、スーパーユーザでログインします。
Django Rest Framework(DRF)のURLにアクセス
APIサーバのエンドポイントである以下の2つのURLにアクセスできるか確認してください。
商品カテゴリ一覧のエンドポイント : http://127.0.0.1:8000/app/itemcategory/
商品一覧のエンドポイント : http://127.0.0.1:8000/app/item/
エンドポイントにアクセスしたときの使い方については、こちらの記事を参照してください。
Django Rest Framework(DRF)のAPIサーバテスト実行方法
前述したエンドポイントからDRFのGUIでCRUD処理を実行できますが、テストファイルを用いてこのCRUD処理を確認しているので、テストの実行方法を紹介します。
以下のtestコマンドを実行すると、商品カテゴリ一覧のテストファイル「app/test_1_itemcategory.py」と、商品一覧のテストファイル「app/test_2_item.py」の2つが実行されます。
1 |
python manage.py test |
テストの実行は、上記コマンドのみでできます。
テストファイルの詳細が知りたい方は、こちらの記事を参照ください。
まとめ
いかがでしたでしょうか。
GitHubにあるDjangoおよびDRFの開発環境を再現する方法を紹介してきました。
Gitクローンして、仮想環境を作成して、開発環境を再現するという流れが学べたら、他のPythonコードを再現するときにも役立つと思います。
ぜひこの機会に習得して開発をスムーズに進めていきましょう。
【関連記事】
【TIPS】Django Rest Framework(DRF)のAPIサーバ開発手順と動作確認方法
【TIPS】Django Rest Framework(DRF)のテスト方法解説[GitHubソース公開中]
【Python Flask入門】使い方の基礎からWebアプリケーション作成までの流れ