Django restframework プロジェクト環境構築

Python

Django restframeworkのプロジェクト環境構築について紹介していきます。

restframeworkを利用して、endpoint(api)を作成することができます。

1.Anaconda 仮想環境作成

Anacondaのインストールについては以下の記事で紹介しています。

【初心者向け】Python Anaconda インストール方法
Anacondaを利用することでPythonを楽にインストールすることができるだけでなく、NumpyやJupyterなどのライブラリをAnacondaでまとめてインストールできます。Anaconda NavigatorとAnaconda promptで開発を進めることができます。

 

anaconda-navigator

Anacondaを立ち上げて、Environmentsから「Create」をクリックします。

anaconda-python_env

Nameを適宜入力、またPythonのversionを選択します。

「Create」で仮想環境を作成できます。

python_env-open-terminal

作成した仮想環境から「Open Terminal」でターミナルを開きます。

2.pip install

Django のインストール

pip install django==3.1

※バージョンを適宜指定

python_env-Django-3.1

Django restframeworkのインストール

pip install djangorestframework==3.11.1

python_env-Django-restframework-3.11.1

CORSのインストール
(他endpintへのアクセスがあったとき、許可するURLを指定できます)

pip install django-cors-headers==3.4.0

simple JWT のインストール(JWT を利用する場合)

pip install djangorestframework-simplejwt==4.6.0

python_env-Django-restframework-simplejwt-4.6.0

decouple(configで設定用)

pip install python-decouple

python_decouple

3.PyCharmの初期設定

PyCharmを利用して、プロジェクトの初期設定をしていきます。

PyCharmはIDEでcommunity版は無料で使用できます。

PyCharmからNew Projectを作るときに以下のような画面が表示されます。

pycharm-setting

Locationには、空のプロジェクトフォルダを選択します。

Anacondaで作成した仮想環境内にあるpython.exeを選択します。
(macならbin/python)

※パスはAnacondaをインストールしている場所によって異なるかと思います。

welcome scriptのcheckは外した状態で、「Create」をクリック。

4.プロジェクト作成

空のプロジェクトフォルダ内に移動して、以下のコマンドを実行します。

django-admin startproject rest_api .

※rest_apiの部分は任意で適宜名前を決める

rest_apiというフォルダとmanage.pyというファイルが作成されます。

django-admin startapp api

※apiの部分は任意に名前を決める。

apiのフォルダ内には、apps.pyやmodels.pyなどが生成されます。

もし沢山のapiモジュールを作る場合、1つのフォルダで管理するのは煩雑になるため、
django-admin startapp xxxxxx
のように別のフォルダを作成すると、apiを分けて管理することも可能。

複数のapiフォルダを作る場合、以下のようにsettings.pyを設定します。

settings-py

作成された各フォルダのapps.py内に記載されているclass名を確認して、メインのsettings.pyのINSTALLED_APPS に追加すればOKです。

 

manage-py

manage.pyを右クリックして、「Run ‘manage’」を選択します。

manage-edit-config

Edit Configurations が選択できるようになるので、「Edit Configurations」をクリックします。

manage-config

parametersのところに「runserver」と入力。
「Apply」して「OK」をクリック。

django-manage-runserver

再生ボタンのアイコンをクリック後、ローカルホストのURLが表示されます。
(ローカルサーバーを停止する場合は、赤のアイコンから可能)

以降、再生と停止をPyCharm上のボタンからできるようになりました。

ターミナルからコマンドで実行する場合は、以下でのように実行。

python manage.py runserver

Django-localhost

ブラウザでDjangoのテンプレートが表示されれば、初期構築はOK。

5.superuserの作成

superuserを作ると、ブラウザ上で作成したapiに対してgetやpost等をすることができます。

以下のコマンドを実行します。

python manage.py migrate

default-model-migrate

Djangoがデフォルトで用意しているmigrations(テーブル)がSQLite3(DB)に作成されます。

python manage.py createsuperuser

createsuperuser

Email addressは無視して、enterでもOKです。

新しくmodelsを作成した場合は、makemigrationsでmigrationsファイルを作成して、migrateでテーブルをDBに反映する流れとなります。

models作成(models.py)

python manage.py makemigrations

python manage.py migrate

 

localhostに再度アクセスすると以下のようになります。

django-localhost

2.api/ については、別記事で触れたいと思います。

/adminでアクセスします。
http://127.0.0.1:8000/admin

django-admin-login

作成したusernameとpasswordを入力してloginします。

django-admin-dashboard

login後、admin用のdashboardが表示されます。