flask08

Çöó½ºÅ© Config ȯ°æÀ» º°µµÀÇ config.py·Î ºÐ¸® Çؼ­ ÁöÁ¤ ÇÒ¼ö ÀÖ´Ù.
¾Æ·¡´Â ÁÖ¼® ó¸® ÇÑ ºÎºÐÀ» config.py ÆÄÀÏ·Î ºÐ¸® ÇÏ´Â ÄÚµåÀÌ´Ù.

from flask import Flask
import model


def create_app():
    app = Flask(__name__)
    return app


def set_database(app):
    #app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
    #app.config['SQLALCHEMY_TRACK_MODIFICATIONS']= False

    import config
    app.config.from_object(config)

    db = model.db
    db.init_app(app)
    db.app = app
    db.create_all()


def test_db():
    from model import User

    bbb_list = User.query.filter(User.username == 'bbb')
    for u in bbb_list:
        print(u)
        print(u.serialize)


if __name__ == '__main__':
    app = create_app()
    set_database(app)
    test_db()

    app.run(host='0.0.0.0', port=8888, debug=True, use_reloader=False)

Çöó½ºÅ©ÀÇ ¼³Á¤ ÆÄÀÏÀ» º°µµÀÇ ÆÄÀÏ·Î ºÐ¸® ÇÒ¼ö ÀÖ´Ù.

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']= False

À§ÀÇ ¼³Á¤À» config.py·Î »©¸é ´ÙÀ½°ú °°´Ù.

ù¹ø° ¹æ¹ý : Config ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù.

config.py ÆÄÀÏ
import os

SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False

config.py ¼Ó¼º Àû¿ë: app.config.from_object(config)

µÎ¹ø° ¹æ¹ý : Config Ŭ·¡½º¾È¿¡ ¼Ó¼ºÀ» ¼³Á¤ÇÑ´Ù.

config.py ÆÄÀÏ
import os

class Config:
    SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

config.py ¼Ó¼º Àû¿ë: app.config.from_object(config.Config)

¼¼¹ø° ¹æ¹ý :  Config Ŭ·¡½º¸¦ »ó¼ÓÇÏ¿© °³¹ß ȯ°æ¿¡ µû¶ó ´Ù¸£°Ô ¼³Á¤ÇÑ´Ù.
config.py ÆÄÀÏ
import os

class Config:
    SQLALCHEMY_DATABASE_URI = 'sqlite:///app.db'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

class ProductionConfig(Config):
    DEVELOPMENT = False
    DEBUG = False

class DevelpmentConfig(Config):
    DEVELOPMENT = True
    DEBUG = True

config = {
    "development": DevelpmentConfig,
    "production": ProductionConfig
}

config.py ¼Ó¼º Àû¿ë: app.config.from_object(config.Config)

ÆÄÀ̽㠵ñ¼Å³Ê¸®¸¦ »ç¿ëÇÏ¿© ȯ°æÀ» ¼±ÅÃÇÑ´Ù.

app.config.from_object(config.config['development'])

Âü°í)
https://velog.io/@martinalee94/Flask-Config-ȯ°æ-ºÐ¸®Çϱâ
https://growingsaja.tistory.com/268
https://medium.com/thedevproject/how-and-why-have-a-properly-configuration-handling-file-using-flask-1fd925c88f4c