def create_app(test_config=None): from app import blueprints, commands app = Flask(__name__, instance_relative_config=True, static_folder='static', static_url_path='/assets/') app.config.from_pyfile('config.py') if test_config: app.config.update(test_config) db.init_app(app) login_manager.init_app(app) blueprints.init_app(app) commands.init_app(app) app.add_url_rule('/',endpoint='index') # appoint the entry return app
def create_app(import_name, *args, **kwargs): kwargs.setdefault('config', config) app = create_api_app(import_name, *args, **kwargs) from app import logging logging.init_app(app) from app import extensions extensions.init_app(app) from app import modules modules.init_app(app) from app import commands commands.init_app(app) return app
from app import commands app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://{}:{}@{}:3306/{}'.format( os.getenv('MYSQL_USERNAME', 'web_user'), os.getenv('MYSQL_PASSWORD', 'password'), os.getenv('MYSQL_HOST', 'db'), os.getenv('MYSQL_DATABASE', 'sample_app')) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SECRET_KEY'] = 'this is something special' if app.debug: app.wsgi_app = DebuggedApplication(app.wsgi_app, True) db = SQLAlchemy(app) commands.init_app(app, db) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = "login" @login_manager.user_loader def load_user(user_id): return User.query.get(user_id) if user_id else None # Classes class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) email = db.Column(db.String(120), unique=True) password = db.Column(db.String(120))