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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
alice
May 10, 2023
0
290
ニャーDjango
alice
May 10, 2023
Tweet
Share
More Decks by alice
See All by alice
職場でショートカットキーの 勉強会をやってみたはなし
alice37308108
0
63
取引先がインボイスの登録事業者に なっているかAPIを使って調べてみた (GAS編)/invoice_gas001
alice37308108
0
1.1k
ノンプロ研 Power Query講座受講メモ②
alice37308108
0
210
ノンプロ研 Power Query講座受講メモ①
alice37308108
0
810
はじめてのRPA
alice37308108
0
2.2k
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
53
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
120
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
76
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ニャー