# はじめに
Flaskを使用して1からアプリケーションを作り、必要な技術を学んでいただけるようにまとめています。
- flaskによる簡易アプリの作成 ← ★現在ここ
- Home画面を作成してみる
- 認証機能を作成してみる
- データベースを扱ってみる
- CRUD機能を作成してみる
Flaskとは
Flaskは2010年に開発されたPythonのマイクロフレームワークです。
必要最小限のライブラリに依存し、特定のツールやライブラリを必要としないため、「マイクロフレームワーク」と呼ばれています。
以下のような特徴があります。
- マイクロフレームワークなので、非常に軽い
- 必要最低限の昨日しか持っていないので、余計な機能が動作を重くするといったことがありません
- 拡張性が高い
- 必要最低限のコア機能に、拡張機能を組み合わせて作成していくのがFlaskの設計思想です。
- ORM、キャッシュ、認証は後から機能を追加する必要があります。
- カスタマイズ性が高い
- DBが必ずしもセットされず、NoSQLを利用したいといったケースの場合Flaskではかなり細かくカスタマイズできます。
- シングルファイルフレームワーク
- Flaskを利用する場合、Flaskをインストールして、1つのファイルに数行のコードを記述するだけでターミナルで起動できます。
シングルファイルフレームワーク
Flaskは「シングルファイルフレームワーク」であるというモチベーションで作られました。
最小限の昨日であることからどのようなアプリケーションにもカスタマイズできるという素晴らしさも兼ね備えています。
開発環境
- mac(catalina)
- 言語: Python 3系
- フレームワーク: Flask
- DB: SQLite
- ORM: SQLAlchemy
仮想環境で行うことをオススメします。
成果物
ディレクトリ構成
app/
├ src/
├ templates
├ static
├ manage.py
├ requirements.txt
├ venv
├ server.py
flaskにおける簡単アプリの作成
__init__ファイルの作成
src/__init__.py
from flask import Flask
app = Flask(__name__)
import src.views
viewsファイルの作成
src/views.py
from src import app
@app.route('/')
def index():
return "Hello World"
起動ファイルの作成
server.py
import sys
sys.dont_write_bytecode = True
from src import app
if __name__ == '__main__':
host = '127.0.0.1'
port = 5000
app.run(host=host, port=port, debug=True)
このファイルは、http://127.0.0.1:5000/ にリクエストが会ったときの処理を記載しています。
- 'if name == 'main':'はこのファイルを直接実行されたときに実行される処理を記述しています。
- 'debug=True'はデバッグモードでアプリケーションを起動し、これで実行することにより、アプリの実行時にコンソール上に様々な情報が表示される。
実行
python
$ python3 serve.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)