PythonのFlaskとSQLAlchemyの構成 その1
2025-07-09 11:00:44
- Tags:
- Python
あまり体系だっていないが、メモ用。
FlaskとSQLAlchemyを使って、Webアプリケーションを作る場合の構成について。
venv環境を作った後のライブラリインストール
$ pip install flask sqlalchemy Flask-Sqlalchemy
クライアントサイドはReactとかがいいのだが、一旦今はFlaskのjinja2上でtemplateからhtmlを生成し返却ようにしている。
DBはSQLiteなので特に何も他にインストールしなくても、標準でPythonに入っている。
SQLAlchemyだけを検索すると、微妙に違うのだが、
Flask-Sqlalchemyは、FlaskからSQLAlchemyを簡単に使えるライブラリなので、こっちを検索したほうが情報が見つかる。
その中で、テーブル間のリレーションに関して有用なURLを貼っておく。
1対1, 1対N, N対NのそれぞれでどうModelを作るか、N対Nで付加情報があった場合にどうするかをまとめてある。
Flask-SQLAlchemy Relationships: Exploring Relationship Associations - DEV Community
今更ながらFastAPI + SQLAlchemy でテーブルリレーションの実装まとめ(多対多) #sqlalchemy - Qiita
ちなみに、SQLAlchemyのリレーションでは、back_populatesとbackrefがあり、書き方の違いは下記。
なお、backrefのほうが手軽だが、後での保守の容易さからするとback_populatesのほうが良いらしい。
SQLAlchemyのback_populatesとbackrefの違いとどちらも使わない場合 #Python - Qiita
チュートリアル的な記事は下記。
【Python Flask】初心者プログラマーのWebアプリ#1 簡単なページ作成 #Python3 - Qiita
なお、デザイン的なものは、Bootstrapを使って楽をする。
Flaskには、Bootstrapと連携するための色んなライブラリがあるが、
正直どれがメンテナンスされているか不明なのと、
どうせCSSとJSなので、CDNから自前で持ってくるほうが依存関係がないのでよいと思う。
ということで、
Bootstrapの公式サイトから、CDNのURLを持ってきて、それをtemplateに組み込む。
なお、現時点ではBootstrapは5.3.7だった。
Bootstrap · The most popular HTML, CSS, and JS library in the world.
一旦ここまで。
There are currently no comments on this article, be the first to add one below
Add a Comment
Note that I may remove comments for any reason, so try to be civil. If you are looking for a response to your comment, either leave your email address or check back on this page periodically.