『Pythonプログラミング入門から実践へ』(第18章.Django入門)

2452 ワード

1.DjangoでのプロジェクトP 357の作成
仮想環境をアクティブにする場合は、Windowsシステムの原文で次のコマンドを実行します.
(ll_env)learning_logs$ django-admin.py startproject learning_log
(ll_env)learning_logs$ dir

上記のコードを実行するときは反応せず、システムはmanageを作成しなかった.py,これでは後続作業ができなくなり,資料を調べて削除しようとした.py,実行に成功しました.
(ll_env)learning_logs$ django-admin startproject learning_log
(ll_env)learning_logs$ dir

2.表示項目P 359
Djangoがプロジェクトを正しく作成したかどうかを確認します.このため、次のようにコマンドrunserverを実行します.
(ll_env)learning_logs$ python manage.py runserver

3.アプリケーションP 360の作成
(ll_env)learning_logs$ python manage.py startapp learning_logs

コマンドstartappnameは、Djangoにアプリケーションの作成に必要なインフラストラクチャを構築させます.modelsが作成されましたpyのファイルでは、アプリケーションで管理するデータを定義します.
4.モデルP 360の定義
models.pyでモデルを作成する
from django.db import models

class Topic(models.Model):
    """A topic the user is learning about."""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True) 
	
	#Django    __str__()          
    def __str__(self):
        """Return a string representation of the model."""
        return self.text

5.データベースP 362の変更
Djangoでデータベースを変更(移行)し、定義した新しいモデルに関連付けられたデータを格納できるようにします.
(ll_env)learning_logs$ python manage.py makemigirations learning_logs

この移行を適用して、Djangoにデータベースを変更してもらいます.
(ll_env)learning_logs$ python manage.py migrate

プログラム管理のデータを変更するたびに、modelsを変更する3つのステップが取られる.py;learning_logsはmakemigrationsを呼び出す.Djangoにプロジェクトを移行させます.
6.管理サイトへモデルP 364を登録する
モデルを追加した後、Webページを開きます.新しく追加したモデルは現実的ではありません.この場合、サーバを再起動してからWebページを開く必要があります.
7.ウェブページの作成:ホームページP 369
Djangoを使用してWebページを作成するプロセスは、通常、URLの定義、ビューの作成、テンプレートの作成の各URLが特定のビューにマッピングされます.ビュー関数は、Webページに必要なデータを取得し、処理します.
7.1マッピングURL P 369
#           URL      
from django.conf.urls import include, url
from django.contrib import admin

#    urlpatterns,           URL
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),#    admin.site.urls,                  URL
    url(r'', include('learning_logs.urls', namespace='learning_logs')), #        namespace,      learning_logs URL       URL    
]


8.Webページを作成URL、ビュー、テンプレートを分離P 373
データベースの専門家はモデルに集中することができ、プログラマーはビューコードに集中することができ、Web設計者はテンプレートに集中することができます.