はじめに
ここでは、Flaskを始めるときの初期設定について解説します。
__init__.py
の設定
用いるデータベースやアプリケーションによってやや変わりますが、__init__.py
は以下のようにします。
__init__.py
import os
from flask import Flask
from . import db, auth, views
def create_app(test_config=None):
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY = 'dev', # 開発用
DATABASE = os.path.join(app.instance_path, 'プロジェクト名.sqlite'),
)
if test_config is None:
app.config.from_pyfile('config.py', silent=True)
else:
app.config.from_mapping(test_config)
try:
os.makedirs(app.instance_path)
except OSError:
pass
db.init_app(app)
app.register_blueprint(auth.bp)
app.register_blueprint(views.bp)
app.add_url_rule('/', endpoint='index')
return app
SECRET KEY
はとりあえず開発用に設定しているだけで、デプロイ時には変更する必要があります。
また、init_app
はアプリケーションの初期化用のメソッドです。後日の記事で解説します。
app.register_blueprint
は、ここでは例としてauth
とviews
について記述していますが、blueprintを設定しているアプリケーションそれぞれについて記載しておく必要があります。
add_url_rule
では、今回の例ではインデックスページのURL指定をしています。
まとめ
ここでは、Flaskのプロジェクトを始めるときの初期設定について解説しました。
データベースやアプリケーションの設定については後日取り上げる予定です。