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
Takagi Yuto
March 15, 2025
Technology
0
62
Flaskを利用したWebアプリ開発に必要な知識と開発の進め方について
Flaskでのアプリ開発におけるviewsやtemplates等のディレクトリ構成とそれらの役割や、Webアプリへのアクセスにおける種類と脆弱性, 開発フローをまとめました。
Takagi Yuto
March 15, 2025
Tweet
Share
More Decks by Takagi Yuto
See All by Takagi Yuto
学科紹介 | 髙木悠人
yut0takagi
0
15
Corgi-ITサービス開発プラットフォームの概要
yut0takagi
0
8
プログラミング学習プラットフォーム | ビジネス要件報告案1
yut0takagi
0
59
交差点交通最適化ソリューション | データサイエンス実験B
yut0takagi
0
29
センシングデータ解析8班 走行データ分析
yut0takagi
0
29
自己紹介 | 1on1forEngineer
yut0takagi
0
23
Other Decks in Technology
See All in Technology
AgentCon Accra: Ctrl + Alt + Assist: AI Agents Edition
bethany
0
110
エンタメとAIのための3Dパラレルワールド構築(GPU UNITE 2025 特別講演)
pfn
PRO
0
330
アイテムレビュー機能導入からの学びと改善
zozotech
PRO
0
160
Node.js 2025: What's new and what's next
ruyadorno
0
340
WEBサービスを成り立たせるAWSサービス
takano0131
1
150
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Findy Team+ QAチーム これからのチャレンジ!
findy_eventslides
0
200
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
280
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
720
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
1.7k
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
210
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
9
3.9k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Context Engineering - Making Every Token Count
addyosmani
6
250
Being A Developer After 40
akosma
91
590k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Bash Introduction
62gerente
615
210k
Docker and Python
trallard
46
3.6k
4 Signs Your Business is Dying
shpigford
185
22k
Why Our Code Smells
bkeepers
PRO
340
57k
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内に記述する