x-ite's diary

覚え書きです。想定読者は俺

python on gaeで環境別の設定ファイルを作る

facebookアプリなどを作っていると開発と本番でAPIキーなどが違うことがある。
その場合に簡易的にかいたコード

#conf.py

class Default():
    TITLE = "Common Title"

class Prod(Default):
    FACEBOOK_APP_ID = "APP_ID_FOR_PROD"
    FACEBOOK_APP_SECRET = "APP_SECRET_FOR_PROD"

class Dev(Default):
    FACEBOOK_APP_ID = "APP_ID_FOR_DEV"
    FACEBOOK_APP_SECRET = "APP_SECRET_FOR_DEV"

これを使いたい場所でインポート

#main.py

import os

debug = os.environ.get("SERVER_SOFTWARE", "").startswith("Development/")

if debug:
    from conf import Dev as conf
else:
    from conf import Prod as conf

これで両方conf.FACEBOOK_APP_IDなどのように使える