Djangoを使ってウェブサイトを作成することで効率的に作ることができます。
Djangoはフレームワークといいユーザー認証や管理者用の画面など開発に欠かせない機能を数多く含んでいます。
作成するシステム全体の設定をつかさどる部分としてプロジェクトが存在し、その下にそれぞれの機能に応じたアプリがある
Djangoで作成されたサイト
- Youtube
DNS(Domain Name System)に依頼しIPアドレスに交換するようにする
多くのサーバーを介してみたいサイトの情報を取ってくる
この記事では上から順番にコードを実行していくことでDjangoの開発環境が設定できるようになっています。
なので詳しい説明は省いているため各見出しをクリックすることで詳しい説明を見ることができます。
mysiteのsetting.pyにおいてja
画像をアップデートする
Djangoのインストール
https://www.agile-software.site/2021/07/11/django%e3%81%ae%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/Djangoの仕組み
MVC
Djangoは「MVCアーキテクチャ」と呼ばれる考え方に基づいて設計されています。
Model | データアクセス関係の処理を担当します。 |
View | 画面表示関係を担当します。 |
Controller | これは全体の制御を担当します。 |
アプリケーションがMVCにあたります。
アプリケーションをいくつも組み合わせて作っていくことになります。
Djangoはrequestオブジェクトを生成し、responseオブジェクトを返す。
オブジェクトとはrequestされた内容をブラウザに表示させるための多くのデータがまとめられたもの
大きな流れを見ていきましょう。
シンプル
詳細
- ブラウザから「IPアドレス/index」がrequestされる。
- プロジェクトのurls.pyのurlpatternsで書かれていたpath(index/クラス)のindexが一致した場合アプリのurls.pyファイルを呼び出す。
- views.pyではクラスが定義されており、requestオブジェクトを受け取り、responseオブジェクトを返します。
- URLディスパッチャからView関数が呼び出される
- View内でリクエストオブジェクトから入力データを取得して型変換
- 入力データのバリデーション(妥当性チェック)をおこなう
- バリデーションOKの場合は、ビジネスロジック処理を続行し、画面に表示するための変数を用意
- 遷移先画面を決定
- 遷移先画面に変数の内容をレンダリング
urls.pyファイル
https://www.agile-software.site/2021/08/27/urls-py/wsgi.pyファイル
https://www.agile-software.site/2022/04/23/wsgi-py%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/asgi.pyファイル
https://www.agile-software.site/2022/04/23/asgi-py%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/views.py
settings.pyファイル
プロジェクトの設定情報を記述したファイル。
https://www.agile-software.site/2021/04/24/django-mysite-setting-py/init_.pyファイル
https://www.agile-software.site/2022/04/23/init_-py%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/manage.pyファイル
https://www.agile-software.site/2022/04/23/manage-py%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab/Template
テンプレートタグ
テンプレートタグはテンプレートの機能を拡張するために使います。
{% <タグ名> ‘<引数>’ %}
- url(URLの逆引き)
- static:静的ファイルのURLを取得
- if(条件分岐)
{% url 'profile' %}
{% static 'css/style.css' %}