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
Flaskを利用したWebアプリ開発に必要な知識と開発の進め方について
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takagi Yuto
March 15, 2025
Technology
78
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flaskを利用したWebアプリ開発に必要な知識と開発の進め方について
Flaskでのアプリ開発におけるviewsやtemplates等のディレクトリ構成とそれらの役割や、Webアプリへのアクセスにおける種類と脆弱性, 開発フローをまとめました。
Takagi Yuto
March 15, 2025
More Decks by Takagi Yuto
See All by Takagi Yuto
学科紹介 | 髙木悠人
yut0takagi
0
49
Corgi-ITサービス開発プラットフォームの概要
yut0takagi
0
18
プログラミング学習プラットフォーム | ビジネス要件報告案1
yut0takagi
0
87
交差点交通最適化ソリューション | データサイエンス実験B
yut0takagi
0
66
センシングデータ解析8班 走行データ分析
yut0takagi
0
43
自己紹介 | 1on1forEngineer
yut0takagi
0
59
Other Decks in Technology
See All in Technology
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
640
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
350
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
130
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
150
Adding Right-to-Left support to your web application with CSS logical properties — Lessons from Redmine
vividtone
0
130
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
220
LanceDB入門
mocobeta
9
600
モバイルアプリ開発概論2026
recruitengineers
PRO
6
660
Model Studio CLI × Token Plan
maigo999
0
190
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.6k
JavaScript 研修 (2026)
recruitengineers
PRO
2
630
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
14k
How to Talk to Developers About Accessibility
jct
2
520
We Are The Robots
honzajavorek
0
300
My Coaching Mixtape
mlcsv
0
240
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
240
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
710
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
Flaskアプリの概要
アジェンダ 1. ディレクトリ構成 2. Webアプリの仕組みについて 3. 開発の流れ
ディレクトリ構成
ディレクトリ構成について 【基本的なディレクトリ構成】 wsgi.py application_ver2 ├── __init__.py ├── __pycache__ ├── config
├── forms ├── models ├── static ├── templates └── views 【開発で触れるディレクトリ】 1. Templates 2. Views 3. Forms 4. models
Viewsについて 【役割】 URLと表⽰されるHTMLを紐づける役割 【書き⽅について】(例: https://localhost:5000/homeの場合)
Templatesについて 【役割】 HTMLファイルを格納する役割 【レイアウトの使⽤について】 1. 共通部分とメイン部分で分けて定義する。 2. 共通部分については、基本的に触れない 3. 共通部分はLayoutに格納
4. 学⽣,塾関連,学校関連,全体共通で分別して格納
Formsについて 【役割】 サイトで⼊⼒箇所がある場合に、その形式をPythonのclassで定義する。 【書き⽅について】(例: ログインフォームの場合) 1. ⼊⼒箇所は、emailとpasswordの2つ 2. EmailはStingField(⽂字列)でDataRequired(⼊⼒必須),Emailとして認識します 3.
PasswordはPasswordField(⼊⼒すると**に変化)で、⼊⼒必須と認識します。
Modelsについて 【役割】 ユーザデータ(ログイン要件以外)や組織データをデータベースとしてどのように保存するかをクラスで定義する。 【書き⽅について】 ※Modelsを変更すると、データベース形式が崩れるので、影響範囲が⼤きいです。 そのため、変更は基本的に⾏わないでください。 各機能で新規に定義する場合には、連絡ください。
Webアプリの仕組み
Webアプリの仕組みについて サーバー リクエスト レスポンス こんなデータがほしい︕ (/homeにアクセス等) どうぞ︕(HTMLファイル等)
リクエストの種類について サーバー リクエスト(GET) ホームページにアクセスしたい リクエスト(POST) ログイン認証をしたい (アクセスと同時にユーザーデータを送信する)
開発の流れ
開発の流れ 1. Viewsで関数を定義し、HTMLファイルと接続する 基本的に、各機能におけるドメインは、あらかじめ決めて設定してあります。 2. Views関数内の処理を記述する GETとPOSTで別々に記述する TRY,EXCEPT等の例外処理をすべてに適⽤することで、セキュリティ脆弱性に関わるエラーを防⽌ 3. HTMLファイルを記述し、css等が反映されているか確認する
Block contentsとendblock内に記述する