Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flaskを利用したWebアプリ開発に必要な知識と開発の進め方について
Search
Takagi Yuto
March 15, 2025
Technology
82
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
54
Corgi-ITサービス開発プラットフォームの概要
yut0takagi
0
19
プログラミング学習プラットフォーム | ビジネス要件報告案1
yut0takagi
0
89
交差点交通最適化ソリューション | データサイエンス実験B
yut0takagi
0
91
センシングデータ解析8班 走行データ分析
yut0takagi
0
44
自己紹介 | 1on1forEngineer
yut0takagi
0
62
Other Decks in Technology
See All in Technology
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
170
自主式軟體工廠
philipz
0
260
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
170
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
810
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.1k
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
140
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
330
go-sqletch
moznion
0
130
パッチ更新でterraform initが落ちた日
grimoh
1
120
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
540
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
560
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
The Cost Of JavaScript in 2023
addyosmani
55
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
920
Agile that works and the tools we love
rasmusluckow
331
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
How to train your dragon (web standard)
notwaldorf
96
6.9k
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内に記述する