Django(M.V.T) , CRUD(2)


Django M、V、CRUD



Visual Studioコード(Djangoコース)


1.クライアントからのリクエストが受信された場合urlsが表示されます。pyで何をするか指定します。




(1枚目の写真のコード)
プロジェクトを初めて起動したときに生成されたdog[ディレクトリ]内にあるurlsの内部ビューです.
from django.urls import path, include

urlpatterns = [
	path('human_dog', include('human_dog.urls'))
]
上記のコードの意味は次のとおりです.
httpGet localhost:8000/human dog/humanリクエスト時のhuman dogディレクトリのurls.pyで送るという意味です.(後/人は以下に説明する)
from django.urls import path
from .views import HumanView, DogView

urlpatterns = [
	path('/human', HumanView.as_view()),
    path('/dog', DogView.as_view())
]
(2枚目の写真のコード)
後でappで作成したhuman dog[ディレクトリ]で新しく作成したURL.pyでhttpGET localhost:8000/human dogの後の/humanで表示します.pyのHumanViewクラスに移動してGET関数を実行します.

2.データベースに格納されている情報をモデリングします。pyのクラスからビューをインポートします。pyで加工(json変換)を行い、ブラウザに渡します。



(1枚目の写真=model.py、2枚目の写真=mysqlデータベース)
models.pyのクラスは下図のように表のフレームになります.各プロパティ(ex/name、ageなど)があります.mysql Databasesにモデルがいますpyのオブジェクトは、ライブラリ文として入力され、格納され、これらの情報をモデリングします.pyのオブジェクトを使用して表示します.pyメソッドを使用すると、必要なコンテンツをブラウザによりよく渡すことができます.
(views.py写真)
現在,HumanViewのgetメソッドは,送信(所有者名,年齢,電子メール,所有者子犬名,子犬年齢)の役割を果たしている.
Owner.objects.データベース内のOwnerテーブルのすべての情報(オブジェクト)をall()で取得し、for文で1つずつ抽出します.
上(MySQLデータベース写真)、Dog TableはOwnerテーブルを指します.(ForeignKeyより)
OwnerでDogに関する情報を検索するには、逆参照で検索する必要があります.
for文で抽出されたi(Ownerオブジェクト).dog_set.all()で検索します.
(クラス名(小文字)setで逆参照)
その後forゲートで同様のプロセスを行い,JsonRspresponseで返信する.