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
320
0
Share
ニャーDjango
alice
May 10, 2023
More Decks by alice
See All by alice
職場でショートカットキーの 勉強会をやってみたはなし
alice37308108
0
67
取引先がインボイスの登録事業者に なっているかAPIを使って調べてみた (GAS編)/invoice_gas001
alice37308108
0
1.2k
ノンプロ研 Power Query講座受講メモ②
alice37308108
0
220
ノンプロ研 Power Query講座受講メモ①
alice37308108
0
850
はじめてのRPA
alice37308108
0
2.2k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
RailsConf 2023
tenderlove
30
1.5k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
A better future with KSS
kneath
240
18k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
Balancing Empowerment & Direction
lara
6
1.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
350
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
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ニャー