ホームページ  >  記事  >  バックエンド開発  >  PythonのWEBフレームワークFlaskで複数の設定ファイルを使用する場合の解決策

PythonのWEBフレームワークFlaskで複数の設定ファイルを使用する場合の解決策

WBOY
WBOYオリジナル
2016-06-16 08:44:301594ブラウズ

Ruby On Rails や、nodejs の Expressjs など、一部のフレームワークは複数の構成ファイルをネイティブにサポートしています。 Python の Flask 自体は設定ファイルの管理をサポートしていますが、単純に from_object と from_envvar を使用するのはあまり便利ではありません。もっと良い方法はありますか?

答えは Flask-Environments パッケージです。 FLASK_ENV 環境変数を通じて、開発環境構成または運用環境構成を自動的に選択できます。使用前にインストールします:

コードをコピーしますコードは次のとおりです:
$ sudo pip install Flask-Environments
次に、config.py を変更し、共通設定とデフォルト設定を Config クラスに書き込み、環境の特別な設定を各環境のクラスに書き込みます。
コードをコピー コードは次のとおりです:

# config.py
import os

class Config(object):
DEBUG = True
BASEDIR = os.path.abspath(os.path.dirname(__file__))

ホスト = '0.0.0.0'
ポート = '8000'

クラス Development(Config): # Config
pass

から継承

class Production(Config):
DEBUG = False
HOST = '127.0.0.1
PORT = 14000


次に、アプリ オブジェクトが生成される構成を読み込みます:
コードをコピー コードは次のとおりです:

from flask import Flask
from flask_environments import 環境

app = Flask(__name__)
env = Environments(app)
env.from_object('config')


このようにして、開発設定は開始時にデフォルトでロードされます。 app.run() 。運用環境を開始するには、まず環境変数 FLASK_ENV=PRODUCTION を設定する必要があります。
コードをコピーします コードは次のとおりです:

$ FLASK_ENV =PRODUCTION gunicorn -b 127.0.0.1:14000 myapp:app
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。