from flask import Flask from flask_cors import CORS from flask_bs4 import Bootstrap from flask_sqlalchemy import SQLAlchemy from logging.config import dictConfig from flask_admin import Admin def create_app(): app = Flask('app') CORS(app) Bootstrap(app) app.config.from_object("config") DB_URL = 'postgresql+psycopg2://{user}:{pw}@{url}/{db}'.format( user=app.config['POSTGRES_USER'], pw=app.config['POSTGRES_PW'], url=app.config['POSTGRES_URL'], db=app.config['POSTGRES_DB']) app.config['SQLALCHEMY_DATABASE_URI'] = DB_URL app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # silence the deprecation warning app.config['FLASK_ADMIN_SWATCH'] = 'superhero' return app app = create_app() admin = Admin(app, name='covid19admin', template_mode='bootstrap4') db = SQLAlchemy(app) db.create_all() port = app.config['PORT'] run_run_with_debug = app.config['APP_DEBUGGER_ACTIVE'] ITEMS_PER_PAGE = app.config['ITEMS_PER_PAGE'] my_logging_config = { 'version': 1, 'formatters': {'default': { 'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s', }}, 'handlers': {'wsgi': { 'class': 'logging.StreamHandler', 'stream': 'ext://flask.logging.wsgi_errors_stream', 'formatter': 'default' }}, 'root': { 'level': 'INFO', 'handlers': ['wsgi'] } } dictConfig(my_logging_config)