· 8 years ago · Dec 10, 2017, 04:48 PM
1#config.py
2
3import os
4
5class Config:
6 SECRET_KEY = os.environ.get('SECRET_KEY') or 'environment not set'
7 SQLALCHEMY_DATABASE_URI = os.environ.get('DB_URI')
8 SQLALCHEMY_TRACK_MODIFICATIONS = False
9
10 @staticmethod
11 def init_app(app):
12 pass
13
14
15class DevelopmentConfig(Config):
16 DEBUG = True
17 TEST = 'This is loaded'
18
19
20config = {
21 'development': DevelopmentConfig
22}
23
24#app/__init__.py
25
26from flask import Flask
27from flask_sqlalchemy import SQLAlchemy
28from config import config
29
30db = SQLAlchemy()
31
32
33def create_app(config_name):
34 app = Flask(__name__)
35 app.config.from_object(config[config_name])
36 config[config_name].init_app(app)
37 db.init_app(app)
38
39 from app.main import main as main_blueprint
40 app.register_blueprint(main_blueprint)
41
42 return app
43
44#pg.py
45from app import db, create_app
46from flask import current_app
47from flask_migrate import Migrate
48import os
49from dotenv import find_dotenv, load_dotenv
50import click
51
52dotenv_path = os.path.join(os.path.dirname(__file__), '.env')
53if os.path.exists(dotenv_path):
54 load_dotenv(dotenv_path)
55 print("secret key:", os.environ.get('SECRET_KEY'))
56else:
57 print('no env found')
58
59app = create_app(os.getenv('FLASK_CONFIG') or 'development')
60migrate = Migrate(app, db)