SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Django入門】Djangoでのプロジェクト作成



前回でDjangoのインストールまで行いましたので、実際にDjangoを使ってみるということでとりあえずDjangoでのプロジェクト作成方法について確認します。

・前回記事
www.wantanblog.com

Djangoプロジェクトの作成

プロジェクトの作成はVSCodeのターミナルから行います。

まずはプロジェクト作成を行いたい任意の場所へ移動します。

PS C:\Users\wanta> cd .\Desktop\dev\django_pj\
PS C:\Users\wanta\Desktop\dev\django_pj> 

プロジェクトの作成にはdjango-adminというコマンドを使用します。
以下ではC:\Users\wanta> cd .\Desktop\dev\django_pj\の配下にsample_pjというプロジェクトを作成します。

PS C:\Users\wanta\Desktop\dev\django_pj> django-admin startproject sample_pj
PS C:\Users\wanta\Desktop\dev\django_pj> 

これでとりあえずはプロジェクトが作成される。作成されているものはエクスプローラからも確認できる。

django-adminが見つからない旨のエラーが発生したら以下も参照。

www.wantanblog.com

プロジェクトの確認

VSCodeからプロジェクトを開く。
フォルダごとVSCodeにドラックドロップするか、VSCodeメニューの「ファイル>フォルダを開く」から当該プロジェクトのフォルダを開く。


プロジェクトの標準構成を確認

作成したばかりのプロジェクトは以下のような構成になっています。

sample_pj/
├ sample_pj/
│ ├ asgi.py
│ ├ settings.py
│ ├ urls.py
│ ├ wsgi.py
│ └ __init__.py
└ manage.py

プロジェクト名と同一のファイルはプロジェクト全体で使用する設定やファイルが置かれ、配下のファイルはそれぞれ以下ような役割を持っているようです。
まぁ始めたばかりであれば一旦はよく分からず飛ばしてしまっても問題ないでしょう。

  • sample_app/__init__.py

Python関連のパッケージをインポートする際に読み込まれる初期化用ファイル。 *このファイルは触ることがほぼないので無視で大丈夫です。

  • sample_app/asgi.py

Django3から登場したファイルです。Djangoにリアルタイムな双方向通信機能を持たしてデプロイ/稼働する際に必要となります。こちらも基本的なユースケースでは必要になることはありません。

  • sample_app/settings.py

プロジェクトのディレクトリ指定や各ファイルの指定、その他プロジェクトに関する全ての設定がここで記述されます。実際に記述する内容は多いので少しづつ必要なところから覚えていけると良いと思います。

  • sample_app/urls.py

プロジェクトのルーティングを設定するのに必要なファイルです。各appにそれぞれurls.pyを手動で追加し、それらのurls.pyをこのconfigフォルダ内のurls.pyに読み込んでプロジェクト全体のルーティングを記述するのが一般的です。書き方はほぼ定型なので一度覚えてしまうと簡単です。

  • sample_app/wsgi.py

基本的にDjangoをデプロイ/稼働する際に必要となるファイルです。何か記述するものがあるわけではありませんのでこちらも学習段階では無視で大丈夫です。

  • manage.py

Djangoの全てのプログラムがこのmanage.pyをトリガーとして行われます。そのためappを追加する際やDBを更新する際などには必ず python manage.py という記述を行います。

引用元:プロジェクト構成 - Just Python

アプリケーション機能を追加する場合は、プロジェクトフォルダ配下に新規フォルダを追加するようですが、詳しくはまた今後見ていきます。

アプリケーション実行の検証

とりあえず作成したプロジェクトを元にWebアプリを実行してみます。
動作確認のためのアプリ起動であればDjangoの機能で起動できる。

VSCodeのターミナルから対象プロジェクトのフォルダに移動してコマンドを実行する。

 python manage.py runserver

・実行の例

PS C:\Users\wanta\Desktop\dev\django_pj\sample_pj> python .\manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 13, 2022 - 17:49:52
Django version 4.1, using settings 'sample_pj.settings'
Starting development server at http://127.0.0.1:8000/  
Quit the server with CTRL-BREAK.

任意のブラウザから以下のURLにアクセスして正常に立ち上がっていることを確認する。
http://127.0.0.1:8000/ またはhttp://localhost:8000/

以下のような画面が表示できれば問題なさそう。


・参考書籍

  • 第1章 Djangoを使ってみよう