Try to use Flask's features. Flaskの機能を試すためのリポジトリ
- Python: 3.12.4
- Flask
- rye
see Dockerfile and pyproject.toml in detail.
open VSCode and use Dev Containers: Rebuild Container without cache
cd flask_playground
docker compose up
In Dockerfile, gunicorn
activates flask app.
/flask/.venv/bin/gunicorn app:run --chdir /flask/src
Go to http://localhost:8000 and you can see the Hello World message.
cd /flask/src
/flask/.venv/bin/flask hello say --name sigma
Warning
This repository uses multiple databases.
before flask db upgrade
, you can see only alembic_version
table.
cd /flask/src
/flask/.venv/bin/flask db init
/flask/.venv/bin/flask db migrate
mysql -h mysql_svr -u root -p
mysql> USE mydatabase;
Database changed
mysql> SHOW TABLES;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| alembic_version |
+----------------------+
1 row in set (0.00 sec)
/flask/.venv/bin/flask db upgrade
mysql> SHOW TABLES;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| alembic_version |
| users |
+----------------------+
2 rows in set (0.00 sec)
mysql -h mysql_svr -u root -p
USE mydatabase;
DROP TABLE alembic_version;
drop table users;
CREATE DATABASE mydatabase_alt; -- flask db cannot create database
rm -rf migrations # if any
/flask/.venv/bin/flask db init --multidb
rye install
ではpyproject.tomlのdependenciesにライブラリが追加されない。これがしたいなら,rye add
を使う。rye run python run.py
のようにすると,venv内のpythonを使って.pyを実行できる。rys sync
するとpyproject.tomlのdependenciesに記述されたライブラリがvenvにインストールされる。