Django 2. 基本概念1



1. Project - App


プロジェクトは、Webサイト全体をカバーする大きな概念です.アプリケーションは、プロジェクトに何らかの機能を持つWebアプリケーションです.Webサイトの前のプロジェクト、複数のアプリケーション.
プロジェクトの作成:django-admin startproject 프로젝트명アプリケーション生成:django-admin startapp 앱이름アプリケーションを生成した後、認識するには、それを伝える必要があります.settings.pyのINSTALLED APPSにアプリケーション名を追加します.

2. URL


この文書では、WebサイトのURLはプロジェクトのメインフォルダのURLです.pyによって管理されます.メインフォルダのURLパスはデフォルトアドレスの末尾から始まるので、そのフォルダのurlsです.pyが管理するurlはwww.exampleです.com/以降のアドレスになります.
パスを追加するときにURLを使用します.pyのurlpatternsリストでは、path(「url/」、ロードするビュー名、name(オプション)として記述されます.(urlの後に/)ホームページにurlを付けずに「」(スペース)で処理します.
しかし、機能が増えるにつれてアプリケーションが増えると、一つの場所ですべてのurlを管理するのは不便なので、アプリケーションごとにurlを管理するのは合理的です.そのため、path('url/(메인페이지라면 필요x)', include('app이름.urls'))と同様に記述される.ここで,include()関数はURLConfというモジュールをパラメータとして受け入れ,上の.urlsに相当します.
この時Djangourlsモジュールからinclude()関数をインポートする必要があります.また、viewをロードする場合は、viewの重要性も忘れてはいけません.

3. View


viewには、将来画面上で実行される内容を決定する関数が含まれています.Webページで実行される論理はここに格納され、データベースに格納されたデータはモデルとしてロードして使用できます.
テンプレートに作成された画面はrender関数を使用してreturn値として表示できます.必要に応じて、htmlでビューで作成されたオブジェクトを使用するためにrequest、テンプレート名、context(contextと呼ばれます)を必要なパラメータとして使用することもできます.

4. Templates


将来htmlを認識するためには,管理が必要である.pyがあるディレクトリにテンプレートフォルダを作成し(スペルに注意)、htmlファイルを入れる必要があります.
テンプレートで重複文、条件文、またはビューで作成されたオブジェクトを使用するには、テンプレート言語を使用する必要があります.
変数を使用するには、上記のcontextを事前に作成する必要があります.作成されている場合は、htmlで{設定された変数名}}を使用して、ビュー内のオブジェクトのプロパティ値を任意の場所から取得できます.複文、条件文を使用する場合は、下図のように閉じたfor/if文を使用する必要があります.
 {% for i in examples %}
	....
    {% endfor %}
    
    {% if .. %}
    	....
    {% endif %}
ラベルを閉じる必要がないのは、cssをロードする{%load static%}、テンプレートを継承する{%extends"template.html"%}、テンプレートを含めることができる{%include"template.html%}です.

5. Static, Image


倉庫でCSS、JavaScript、画像ファイルを使用するには、テンプレートのようにCSSファイルを特定のフォルダに入れる必要があります.将来、staticというフォルダを管理します.pyがあるディレクトリに作成します.
また、設定します.pyでは、ファイルの下部にあるSTATIC_URL='/static/'の下部に次のパスを追加します.
# os 모듈이 미리 import 되어있지 않다면 먼저 import
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
]
htmlにcssを入れるときに使用するリンクタグにhrefに{%静的「cssファイルパス」%}を入力します.
画像ファイルは、静的フォルダ内に個別のフォルダを作成し、ファイルを挿入します.先ほど説明した設定もありますpyの下部にMEDIA URL="/イメージフォルダ名/"を挿入します.htmlに