アプリケーションまで作成できたけど、ファイルが多すぎてよくわからない…
今回は、前回作ったプロジェクト、アプリケーションの内容について説明していくね!
Django仕組み
まず、通常のwebサーバの仕組みが下の図のようになります。
閲覧者は見たいサイトのURLをブラウザに入力します(https://〇〇〇.jp/△△/××.html)
これは「〇〇〇.jpというドメインのサーバ内にある△△というフォルダの中の××.htmlを持ってきて」という命令になります。
この命令によってサーバは××.htmlを持ってきて、閲覧者に表示します
次にDjangoによるリクエストとレスポンスの関係を図で表すと、このようになります。
フレームワークでは、リクエストを行うとまず特定のファイルを呼び出します。
これが、通常のWebサーバとの違いで、Djangoではリクエストを行うとまずurls.pyを呼び出します。
urls.pyはリクエストの内容とurls.pyで書かれていることを参照し、views.py内の適切な場所へ指示を送ります。
そしてviews.pyでも適切な処理を行った後、必要な情報をtemplate(HTMLファイル)に渡し、閲覧者に返します。
ごれが大まかなDjangoの仕組みです。
それぞれのファイルの役割
前回までの準備で以下のようなファイルが出来上がったかと思います。
〇〇 - manage.py - 〇〇 - __init__.py - setting.py - urls.py - asgi.py - wsgi.py - ×× - __init__.py - admin.py - apps.py - migrations - __init__.py - models.py - test.py - views.py
よく使用するファイルが以下のものです
プロジェクトフォルダ(〇〇)
__init__.py
読み込み時の初期化フォルダ
setting.py
プロジェクト全体の設定を行うファイル
urls.py
リクエストされたurlごとに適した処理を行うファイル
アプリケーションフォルダ
__init__.py
読み込み時の初期化フォルダ
admin.py
管理画面の設定を行うファイル
apps.py
アプリケーションの定義を行うファイル
migrations
データベースに関するファイルが保存されているフォルダ
models.py
データベースの定義を行うファイル
test.py
テストに関する定義を行うファイル
views.py
実際に行われる処理を定義するファイル
manage.pyは開発用サーバの起動などを行うファイルです。
アプリケーションを作成していると様々なファイルを追加していくことになると思いますが(forms.pyなど),初期ファイルでよく使用するのはこれらです。
次回からは実際に簡単なwebアプリケーションを作成していきたいと思います。
コメント