Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ニャーDjango
Search
alice
May 10, 2023
0
240
ニャーDjango
alice
May 10, 2023
Tweet
Share
More Decks by alice
See All by alice
取引先がインボイスの登録事業者に なっているかAPIを使って調べてみた (GAS編)/invoice_gas001
alice37308108
0
1.1k
ノンプロ研 Power Query講座受講メモ②
alice37308108
0
200
ノンプロ研 Power Query講座受講メモ①
alice37308108
0
750
はじめてのRPA
alice37308108
0
2.1k
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Balancing Empowerment & Direction
lara
1
390
Unsuck your backbone
ammeep
671
58k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Invisible Side of Design
smashingmag
300
51k
Thoughts on Productivity
jonyablonski
69
4.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
ニャーDjango① ざっくりDjango
おことわり そんなにDjangoにくわしくないです まだまだはじめたばっかりです。 ローカルでしか使ったことないです。。 たぶん違っていることがたくさんあると思います。。。
Djangoとは ・Pythonで書かれたWebアプリケーションフレームワーク ・MTVというアーキテクチャを採用していて、Model、Template、Viewの3つの部分に分かれ ている ・多くのWebアプリケーションで利用されており、開発効率を高めるための多数のツールや 機能を提供している Modelニャー Templateニャー viewニャー
MTVフレームワーク Model-Template-Viewの略で、アプリケーションを3つの部分に分ける Modelニャー アプリケーションのデータ 構造を定義するニャー。 データベースとのやり取 りも担当するニャー。 Templateニャー 表示するHTMLページを 作成するニャー。
デザインやレイアウトも 担当する担当するニャー。 Viewニャー リクエストを受け取って、Model とTemplateを組み合わせて レスポンスを生成するニャー。
MTVフレームワーク Model-Template-Viewの略で、アプリケーションを3つの部分に分ける Modelニャー Templateニャー Viewニャー ニャーたちがそれぞれ独立して開発できるから、大規模なアプリケーション でも、開発がしやすくて保守性も高い
Modelニャー Templateニャー Viewニャー Djangoの(とてもざっくりとした)全体像 せっかくなのでニャーを増やしてみた URLディスパッチャーニャー ブラウザからのリクエス トされたURLに対応する View(ビュー)を探すため の仕組みニャー。
Formニャー ユーザーからの入力を受け取り、 その入力データをバリデーション してからViewに渡すための仕組 みニャー。
Djangoの(とてもざっくりとした)全体像 1 ブラウザからのリクエスト(HTTPリクエスト)を受け取る。 2 URLディスパッチャーが、リクエストされたURLに対応するView(ビュー)を探す。 3 Viewが、受け取ったリクエストを解析し、適切なModel(モデル)を操作するための 処理を実行する。(この時、Formのバリデーションも行われることがある) 4 バリデーションに成功した場合、ViewがFormから受け取ったデータを用いてModelを更新する。
5 Viewでの処理に必要なデータをModelがデータベースから取得する 6 Viewが、Modelから取得したデータをTemplate(テンプレート)に渡し、HTMLページを生成する。 7 生成されたHTMLページをHTTPレスポンスとしてブラウザに返す。
Djangoの(とてもざっくりとした)全体像 ニャーたちのフォーメーション!! ブラウザから リクエストを送る ニャー Modelニャー Templateニャー Viewニャー URLディスパッチャーニャー Formニャー
Djangoの(とてもざっくりとした)全体像 1 ブラウザからのリクエスト(HTTPリクエスト)を受け取る。 日記を書くニャー! http://127.0.0.1:8000/create_diary/ を リクエスト!!
Djangoの(とてもざっくりとした)全体像 2 URLディスパッチャーが、リクエストされたURLに対応するView(ビュー)を探す。 URLディスパッチャーニャー http://127.0.0.1:8000/create_diary/ CreateMealViewだニャー Viewニャー ぱす
Djangoの(とてもざっくりとした)全体像 3 Viewが、受け取ったリクエストを解析し、適切なModel(モデル)を操作するための 処理を実行する。 Viewニャー Postリクエストが来た ニャー ちぇっくよろしく Formニャー
Djangoの(とてもざっくりとした)全体像 3 (この時、Formのバリデーションも行われることがある) Formニャー バリデーションをするニャー フォームに入力された情報を確認して、 正しいデータであるかどうかをチェック するニャー フォームに不適切な情報が入力された 場合には、エラーメッセージを表示して、
再度正しい情報を入力するように 促すニャー
Djangoの(とてもざっくりとした)全体像 3 (この時、Formのバリデーションも行われることがある) メモが「ニャーになってる」ニャー 「ニャー」だけだとわからない ニャー Formニャー
Djangoの(とてもざっくりとした)全体像 3 (この時、Formのバリデーションも行われることがある) 入れ直してもらうニャー Formニャー
Djangoの(とてもざっくりとした)全体像 3 (この時、Formのバリデーションも行われることがある) これならOKニャー おっけーだよ はい、データ Formニャー Viewニャー
Djangoの(とてもざっくりとした)全体像 4 バリデーションに成功した場合、ViewがFormから受け取ったデータを用いてModelを更新する。 登録よろしくニャー はい、でーた Viewニャー Modelニャー
Djangoの(とてもざっくりとした)全体像 4 バリデーションに成功した場合、ViewがFormから受け取ったデータを用いてModelを更新する Modelニャー 登録するニャー
Djangoの(とてもざっくりとした)全体像 5 Viewでの処理に必要なデータをModelがデータベースから取得する 成功したからlistを 表示するニャー いってらー Diary:listを 探してくるニャー URLディスパッチャーニャー Viewニャー
Djangoの(とてもざっくりとした)全体像 5 Viewでの処理に必要なデータをModelがデータベースから取得する URLディスパッチャーニャー ListDiaryViewだニャー Viewニャー ぱす
Djangoの(とてもざっくりとした)全体像 5 Viewでの処理に必要なデータをModelがデータベースから取得する Viewニャー はいよ Diaryモデルから データをもってきたニャー Modelニャー
Djangoの(とてもざっくりとした)全体像 6 Viewが、Modelから取得したデータをTemplate(テンプレート)に渡し、HTMLページを生成する。 Viewニャー まかせた Modelニャーからもらったデータニャー これを使うニャー Templateニャー
Djangoの(とてもざっくりとした)全体像 6 Viewが、Modelから取得したデータをTemplate(テンプレート)に渡し、HTMLページを生成する。 もらったデータをもとに HTMLページを作るニャー Templateニャー
Djangoの(とてもざっくりとした)全体像 7 生成されたHTMLページをHTTPレスポンスとしてブラウザに返す。 登録した結果 一覧が表示されたニャー
Djangoの(とてもざっくりとした)全体像 ニャーたちのフォーメーション!! ブラウザから リクエストを送る ニャー Modelニャー Templateニャー Viewニャー URLディスパッチャーニャー Formニャー