[メモ]Flaskで開発をする際のリンク集

# はじめに

開発の際にブックマークをつけておいたものや、LGTMしておいたものをこちらに移植します。星がついているものはとくにいいやつです。

# Flask全般

- [Flaskの構成とかライブラリメモ](https://nwpct1.hatenablog.com/entry/flask-libraries) ☆

<strong>[Udemy]</strong>

- [Python and Flask Bootcamp: Create Websites using Flask!](https://www.udemy.com/course/python-and-flask-bootcamp-create-websites-using-flask/?aEightID=s00000016735001&a8=beNiAe2kaQsmXdO3.cslmdmUJ_EzsNwl_cWn2BOurnMkaQNmP_whr_wb3QGHFHwW.nL_q8Nj.eNips00000016735001) ☆

1,500円セールの時に購入しました。コスパよし、内容よしでした。

# Flask-SQLAlchemy

- [flask-SQLAlchemy で良く使うクエリーコマンド一覧](https://mycodingjp.blogspot.com/2019/07/flask-sqlalchemy.html) ☆
- [Flask + SQLAlchemyプロジェクトを始める手順](https://qiita.com/shirakiya/items/0114d51e9c189658002e) ☆
- [Using Flask-SQLAlchemy with Flask Applications on RStudio Connect](https://support.rstudio.com/hc/en-us/articles/360045926213-Using-Flask-SQLAlchemy-with-Flask-Applications-on-RStudio-Connect)
- [Python3 の 定番ORM 「 SQLAlchemy 」で MySQL ・ SQLite 等を操作 – 導入からサンプルコード](https://it-engineer-lab.com/archives/1183)
- [sqlalchemyのテーブル定義tips](https://qiita.com/petitviolet/items/e03c67794c4e335b6706)
- [外部キー制約について](https://qiita.com/SLEAZOIDS/items/d6fb9c2d131c3fdd1387)


<strong>[Document]</strong>

- [Flask-SQLAlchemy](https://flask-sqlalchemy.palletsprojects.com/en/2.x/)

# Flask-Login

- [Flask-Loginの使い方](https://qiita.com/msrks/items/d9c327dd81749ec01d1d) ☆
- [Authentication and Authorization With Flask-Login](https://scotch.io/tutorials/authentication-and-authorization-with-flask-login)
- [flask-loginでログインページを実装したメモ](https://qiita.com/sky_jokerxx/items/b170a670c0d50c05d52d)
- [[Werkzeug][Flask]FlaskをSalted Passwordsに対応させる](https://blog.aoshiman.org/entry/35/)

<strong>[Document]</strong>

- [Flask-Login](https://flask-login.readthedocs.io/en/latest/) ☆


# Flask-WTF / wtforms 
- [【Flask】formからサーバーサイドにテキストや各種コントロール、ファイルを渡す](https://tanuhack.com/flask-client2server/)
- [Wtforms, add a class to a form dynamically](https://stackoverflow.com/questions/11309779/wtforms-add-a-class-to-a-form-dynamically)

<strong>[Document]</strong>

- [Creating Forms](https://flask-wtf.readthedocs.io/en/stable/form.html) ☆
- [Source code for wtforms.fields.simple](https://wtforms.readthedocs.io/en/2.3.x/_modules/wtforms/fields/simple/#FileField)

# Flask-Admin

- [【Flask】flask-adminの使い方とデータベース管理画面(ダッシュボード)の実装](https://creepfablic.site/2020/05/03/python-flask-flask-admin/)
- [Flask Admin 2つの管理パネル](https://stackoverrun.com/ja/q/12281576)
- [How to add content to the index page using Flask-Admin](https://stackoverflow.com/questions/36168538/how-to-add-content-to-the-index-page-using-flask-admin)


<strong>[Document]</strong>

- [Introduction To Flask-Admin](https://flask-admin.readthedocs.io/en/latest/introduction/#customizing-builtin-views) ☆
- [Advanced Functionality](https://flask-admin.readthedocs.io/en/latest/advanced/)
- [flask_admin.base](https://flask-admin.readthedocs.io/en/latest/api/mod_base/)
- [Quick Start](https://flask-admin.readthedocs.io/en/v1.0.7/quickstart/)

# Blueprint

Blueprintはアプリケーションの機能を分割するために用いられます。

- [いまさらながら Flask についてまとめる 〜Blueprint〜](https://www.subarunari.com/entry/2017/10/11/003225) ☆
- [Flask Blueprint : Image and File Upload API - Tutorial](https://steemit.com/utopian-io/@gabrum/flask-blueprint-image-and-file-upload-api-tutorial)

<strong>[Document]</strong>

- [Blueprintを使ったアプリケーションのモジュール化](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/blueprints.html)

# テスト

- [PythonのWebフレームワークflaskによるWebAPI開発とユニットテスト](https://www.apibank.jp/contents/make/webapi-unittest/)

<strong>[Document]</strong>

- [Flaskアプリケーションのテスト](https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/testing.html)
- [Testing Flask Applications](https://flask.palletsprojects.com/en/1.0.x/testing/)

# デプロイ

- [FlaskとPostgreSQLでウェブアプリを作ってHerokuで無料で運用する](https://qiita.com/croquette0212/items/9b4dc5377e7d6f292671) ☆
- [【Python/Flask】作成したアプリをHerokuで公開する方法（Windows）](https://algorithm.joho.info/programming/python/flask-heroku/) ☆
- [FirebaseをデータベースとしてFlaskアプリをHerokuへとデプロイしてみた](https://rightcode.co.jp/blog/information-technology/flask-firebase-heroku-implementation-deploy)


# エラーハンドリング

<strong>[Document]</strong>

- [Custom Error Pages](https://flask.palletsprojects.com/en/1.1.x/patterns/errorpages/)


# その他

importに何度もつまづいたので、残しておきます。

- [Pythonでimportの対象ディレクトリのパスを確認・追加（sys.pathなど）](https://note.nkmk.me/python-import-module-search-path/) ☆
- [Pythonの相対インポートで上位ディレクトリ・サブディレクトリを指定](https://note.nkmk.me/python-relative-import/) ☆
- [Python __init__.pyの書き方](https://qiita.com/FN_Programming/items/2dcabc93365a62397afe)
- [Pythonのimportについてまとめる](https://qiita.com/suzuki-hoge/items/f951d56290617df4279e)
- [Python 3でのファイルのimportのしかたまとめ](https://qiita.com/karadaharu/items/37403e6e82ae4417d1b3)

# おわりに

開発時によく見ていた資料をまとめました。ほかにもよいものがあったら教えてください。