[Django] Kickoff day1


始める前に...


注意:張高公式サイトのチュートリアルリンク/24579152

0-1. 仮想環境の起動

#가상환경 이름 : project
source activate project

0-2. 長期プロジェクトの開始

#프로젝트 디렉토리명 : mysite
django-admin startproject mysite

0-3. ハンドヘルドアプリケーションの作成

#manage.py가 있는 디렉토리 내에서 실행
#앱 이름 : polls
python manage.py startapp polls

0-4. サーバーの実行

python manage.py runserver 
開発サーバドライバは、ローカルIP 張高傑教程リンクにあります.

プロジェクトディレクトリの構成


manage.py:長期プロジェクトとインタラクティブなコマンドラインユーティリティ--init--.pyから分かるように、ディレクトリにはプロジェクトのPythonパッケージが格納されている.

ポーリング・アプリケーションの生成時に作成されたディレクトリの構成



1. URL

mysite/urls.pyおよびpolls/urls.pyurl 2つ.pyが必要です.後者は直接生成する必要がある.
  • 最初のURL.pyを親ディレクトリのファイルとして、Webクライアントが入力したURLアドレスを確認し、対応するアプリケーションディレクトリにURLを見つけます.pyで接続します.(便宜上以降の内容は.pyを省略)
  • .
  • アプリケーションディレクトリ内のサブURLは、同じディレクトリ内のviewモジュールに接続されている.
  • 1-1.



    親urlsモジュールでは、すべてのurlモードの文字列を取得してチェックします.
    -pathは、「policy/」を含むurlをpolicypackageのurlsモジュールに送信する.
    -includeは、他のurlsモジュールを参照するのに役立ちます.

    1-2.



    アプリケーションディレクトリのurlsモジュールはurlアドレスと対応するviewモジュールに関連付けられています.polls/urls.pyで始まるurlアドレスはすべて「policy/」で始まります.
    nameと名付けられ、その後polls:indexとして使用される.(urlsモジュールでapp_nameを使用してポーリング値を指定できます)これは、どこでも参照でき、ファイルを変更するだけでプロジェクト内のすべてのurlモードを変更できる感謝の機能です.

    2. Database


    デフォルトではSQLiteが使用され、今回の練習では変更されません.他のデータベースを使用する場合は、settings.pyからDATABASES設定を変更します.
    (settings.pyでは、時間帯設定のアプリケーション設定を変更する必要があります.その後、関連内容を整理する部分で詳しく説明します)

    2-1. モデリング


    まず、データベースの構造を定義します.データを直感的に整理するためにAQuery Toolを使用して表形式で作成してみます.問題と選択には一対一の関係がある.


    各プロパティが持つデータ型を、データベース内のフィールドと一致させます.
    (Question)
    -question_text : CharField-pub_date : DateTimeField(Choice)
    -question : ForeignKey-choice_text : CharField-votes : IntegarField(注意事項)CharFieldはmax lengthを入力する必要があります.
    デフォルト値はIntegarFieldで指定できます.

    2-2. テーブルの作成


    まず、テーブル操作ファイルを作成し、実際のテーブルを作成します.
    #테이블 작업파일 생성
    python manage.py makemigrations polls
    蒋高さんに、モデルの変更とこの変更をmigrationに保存したいと伝えました.
    python manage.py sqlmigrate polls 0001
    migrationで内部で実行されるSQL文が表示されます.(実際にテーブルを作成しないため、実際のテーブルを作成するにはmigrateを実行する必要があります.)
    手動で指定することなく、PK値idおよびFK値question_idを自動的に生成することができる.テーブル名は、アプリケーション名+モデル名の組み合わせによって自動的に生成されます.
    #실제 테이블 생성
    python manage.py migrate
    モデルに関連付けられたテーブルをデータベースに作成します.