【Webアプリ開発】Flaskの勉強のまとめ

※Flaskはバージョン2.0.xへとメジャーバージョンアップがありました。(バージョンアップについて)

本目次での記事は、1.1.x系で行なっておりますので、ご注意ください。2との違いなどは、こちらの記事がわかりやすく説明してありましたので、ご参照ください。

目次

Flaskスタートアップ

「QuickStartチュートリアル」に沿って進めていきました。とにかくFlaskアプリ開発の全貌を掴むような流れとなっています。ところどころ個人的な知識の補いなどもあります。

Python仮想環境の構築とFlaskのインストール

Python仮想環境とFlaskデバッグサーバー

初めてのアプリ

ルーティングと変数

ユニークURL、url_for関数

HTTPメソッドと静的ファイル

レンダリングテンプレート

Requestオブジェクト

ファイルのアップロード

Cookie

Cookieの動作確認

リダイレクトとエラー

HTTPレスポンスについて

JSONでAPI

セッションについて

Flashの使い方

ロギング、WSGIミドルウェア

Herokuへデプロイ

HerokuというWebアプリを簡単にデプロイできるサービスを利用したデプロイ方法です。一般的なWebサーバーへのデプロイとは異なります。

HerokuへデプロイするためのGit知識

Herokuへデプロイ

もう少し本格的なflask構造

flaskの「Tutorial」に沿って勉強を進めていきました。クイックスタートからだいぶ本格的にflaskを利用するお話に発展していきます。チュートリアルを通して「flaskr」というブログアプリが完成します。

flaskrブログアプリ作成の準備

アプリケーションの設定と__init__.py

データベースを利用する1

データベースを利用する2

Blueprintを利用したユーザー登録機能1

Blueprintを利用したユーザー登録機能2

テンプレート1

テンプレート2

静的ファイルの導入

Blueprintを利用したブログ機能1

Blueprintを利用したブログ機能2

Blueprintを利用したブログ機能3

プロジェクトをインストール可能にする(pipでimportできるように)

Pytestについて知る1

Pytestについて知る2

PytestでWebアプリをテストする1(Fixtureとは)

PytestでWebアプリをテストする2(アプリケーションファクトリ)

PytestでWebアプリをテストする3(認証機能1)

PytestでWebアプリをテストする4(認証機能2)

PytestでWebアプリをテストする5(ブログ機能)

PytestでWebアプリをテストする6(テスト実行)

Flaskアプリのデプロイ(Webサーバー)

Webサーバーへのデプロイを行うチュートリアルです。

本番環境へのデプロイ

Flaskをより詳しく知りたい

fkaskのより詳細な機能についてチュートリアルなどで勉強していく内容です。

テンプレートについて

テンプレートについて1、レンダリング

テンプレートについて2、フィルター

テンプレートについて3、フィルターカスタマイズ

テンプレートについて4、コンテキストプロセッサー

コンテキストについて

アプリケーションコンテキストについて調べる

アプリケーションコンテキストについて調べる2

リクエストコンテキストについて調べる1

リクエストコンテキストについて調べる2

リクエストコンテキストTeardownCallbackについて

Signalについて

Signalについて1

Signalについて2、Signalのカスタマイズ

その他、flaskについて

チュートリアルで勉強した内容を元に独自に実装を行なったり、気付いたりしたことをまとめています。

忙しい人のためのFlaskアプリ、ミニマムなベースアプリ

flaskプロジェクトをGitへPUSHする際の除外ファイル設定など

scikit-learn×Flask

クイックスタートで得た知識を使ってscikit-learnのあやめ分類アプリを作成してみました。

シンプルにscikit-learnと合体

学習済みscikit-learnモデルを読み込む

Pytorch×Flask

画像分類アプリを動作させる

画像分類アプリのプログラムを理解1

画像分類アプリのプログラムを理解2

画像分類アプリを改良1、flask構成を改良

画像分類アプリを改良2、gオブジェクトを利用

画像分類アプリを改良3、テンプレートでUIを作成

画像分類アプリを改良4、入力画像ファイルに対するエラー処理

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次