def create_app(): flask_app = Flask(__name__, instance_relative_config=True) AdminLTE(flask_app) config_name = os.getenv('FLASK_CONFIG', 'default') flask_app.config.from_object(config[config_name]) flask_app.config.from_pyfile('app.cfg', silent=True) login_manager.session_protection = 'AdminPassword4Me' login_manager.login_view = 'signin' login_manager.login_message = 'Unauthorized User.' login_manager.login_message_category = "info" login_manager.init_app(flask_app) flask_app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db' flask_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db.init_app(flask_app) with flask_app.app_context(): from models import User db.create_all() #db.session.merge(User(id=1,email='*****@*****.**',username='******',_password='******')) db.session.merge( User(id=1, email='*****@*****.**', username='******', _password=generate_password_hash('123456'))) db.session.commit() bcrypt.init_app(flask_app) for bp in all_blueprints: import_module(bp.import_name) flask_app.register_blueprint(bp) return flask_app
def register_extentions(app): db.init_app(app) ma.init_app(app) bcrypt.init_app(app) jwt.init_app(app) cors.init_app(app) migrate.init_app(app, db) mail.init_app(app)
def extensions_load(app): db.init_app(app) user_data_store = MongoEngineUserDatastore(db, User, Role) s = security.init_app(app, user_data_store, register_blueprint=False) # TODO 无法分辨token过期/没有token/无效的token def unauthorized_handler(): error(InterfaceTips.INVALID_TOKEN) s.unauthorized_handler(unauthorized_handler)
def init_app(app): app.config.from_pyfile('config.py') db.init_app(app) with app.app_context(): db.create_all() admin.init_app(app) admin.add_view(MyModelView(Role, db.session)) admin.add_view(MyModelView(User, db.session))
def _init_extention(app): """ extention initial :param app: :return: """ db.init_app(app) # login_manager login_manager.init_app(app) login_manager.login_view = 'auth_blueprint.login' @login_manager.user_loader def load_user(user_id): return User.get(user_id)
def create_app(environment='Development'): """ :param environment: is either Development/Production/Testing """ if environment is None: environment = 'Development' app = Flask(__name__) app.config.from_object(f'config.{environment}Config') @app.route('/', methods=['GET']) def temp_main_function(): """ temporary main function to test app, debug and testing status todo:move it to another endpoint :return: status:dict """ return { 'status': 'API is up and running:))', 'ENV': app.config['ENV'], 'DEBUG': app.config['DEBUG'], 'TESTING': app.config['TESTING'], 'elasticsearch_status': 'ready' if elastic.ping() else 'broken' } app.register_blueprint(calculator) app.register_blueprint(users) app.register_blueprint(foods) app.register_blueprint(blog) db.init_app(app) migrate.init_app(app) jwt.init_app(app) mail.init_app(app) admin.init_app(app) # configuring CORS settings CORS(app, resources=app.config['CORS_RESOURCES']) if app.debug: app.wsgi_app = DebuggedApplication(app.wsgi_app, evalex=True) # enabling whitenoise app.wsgi_app = WhiteNoise(app.wsgi_app) for static_folder in app.config['STATIC_FOLDERS']: app.wsgi_app.add_files(static_folder) return app
from marshmallow import ValidationError from auth.auth_app import auth_app from core.exceptions.base_error import BaseError from extentions import db, migrate, marshmallow, mail load_dotenv('.env') app = Flask(__name__, template_folder='templates') app.config.from_object('config.default') app.config.from_envvar('CONFIGURATION_FILE') app.register_blueprint(auth_app, url_prefix='/auth') with app.test_request_context(): db.init_app(app) db.create_all() migrate.init_app(app, db) marshmallow.init_app(app) mail.init_app(app) @app.errorhandler(ValidationError) def validation_error(e): return e.messages @app.errorhandler(BaseError) def app_error_handler(e): return e.json(), e.code
import flask_admin from flask_admin.contrib import sqla from flask_admin import helpers as admin_helpers from models.auth import Role, User from extentions import db, admin from admin.model_view import AuthModelView from home.views import home as home_blueprint from facilitator.views import facilitator as faci_blueprint from forms.security_forms import ExtenedLoginForm # Create Flask application app = Flask(__name__) app.config.from_pyfile('config.py') # init extentions db.init_app(app) # register blueprint app.register_blueprint(home_blueprint) app.register_blueprint(faci_blueprint, url_prefix=app.config['FACILITATOR_PREFIX']) admin.init_app(app) # Add model views admin.add_view(AuthModelView(Role, db.session)) admin.add_view(AuthModelView(User, db.session)) with app.app_context(): db.create_all() # Setup Flask-Security
def configure_extensions(app): db.init_app(app)
def init_extentions(app): bootstrap.init_app(app) db.init_app(app) login_manager.init_app(app) login_manager.login_view = 'login.login' migrate.init_app(app, db)
def register_extensions(app): """Register Flask extensions.""" db.init_app(app) migrate.init_app(app, db) return None