def configure_extensions(app): """ 初始化插件 """ db.init_app(app) admin.init_app(app)
def create_app(): app = Flask('Shortner') app.config.from_object(Settings) db.init_app(app) admin.init_app(app, index_view=AdminIndexView(url='/shortner/admin')) admin.add_view(ModelView(URL, db.session)) app.register_blueprint(bp) return app
def create_app(): app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://root:@localhost/knowledge_management?charset=utf8' #app.config["SQLALCHEMY_DATABASE_URI"] = 'sqlite:///flask-admin.db' # Create modules app.register_blueprint(indexModule) app.register_blueprint(themeModule) app.register_blueprint(groupModule) app.register_blueprint(relationModule) app.register_blueprint(constructionModule) app.register_blueprint(adminModule) app.register_blueprint(brustModule) app.config['DEBUG'] = True app.config['ADMINS'] = frozenset(['*****@*****.**']) app.config['SECRET_KEY'] = 'SecretKeyForSessionSigning' ''' app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://%s:@%s/%s?charset=utf8' % (MYSQL_USER, MYSQL_HOST, MYSQL_DB) app.config['SQLALCHEMY_ECHO'] = False ''' app.config['DATABASE_CONNECT_OPTIONS'] = {} app.config['THREADS_PER_PAGE'] = 8 app.config['CSRF_ENABLED'] = True app.config['CSRF_SESSION_KEY'] = 'somethingimpossibletoguess' # Enable the toolbar? app.config['DEBUG_TB_ENABLED'] = app.debug # Should intercept redirects? app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = True # Enable the profiler on all requests, default to false app.config['DEBUG_TB_PROFILER_ENABLED'] = True # Enable the template editor, default to false app.config['DEBUG_TB_TEMPLATE_EDITOR_ENABLED'] = True # debug toolbar # toolbar = DebugToolbarExtension(app) # Create database db.init_app(app) with app.test_request_context(): db.create_all() # init security security.init_app(app, datastore=user_datastore) # init admin admin.init_app(app) admin.add_view(UserAdmin(User, db.session)) # admin.add_view(sqla.ModelView(User, db.session)) admin.add_view(sqla.ModelView(Role, db.session)) return app
def register_extensions(app): cache.init_app(app) db.init_app(app) admin.init_app(app) register_admin_views(admin) user_datastore = MongoEngineUserDatastore(db, User, Role) security = Security(app, user_datastore, confirm_register_form=ExtendedRegisterForm) mail.init_app(app) debug_toolbar.init_app(app) return None
def register_extensions(app): cache.init_app(app) db.init_app(app) admin.init_app(app) register_admin_views(admin) user_datastore = SQLAlchemyUserDatastore(db, User, Role) security = Security(app, user_datastore, confirm_register_form=ExtendedRegisterForm) mail.init_app(app) debug_toolbar.init_app(app) return None
def create_app(app_config): app = Flask(__name__) app.config.from_object(app_config) __location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) with open(os.path.join(__location__, 'secrets.json')) as secrets_file: secrets = json.load(secrets_file) app.secret_key = secrets.get('app_secret') app_config.SECRET_KEY = app.secret_key login_manager.login_view = 'login.show' admin.add_view(AdminModelView(Challenge, db.session)) admin.add_view(AdminModelView(Game, db.session)) admin.add_view(AdminModelView(MarathonInfo, db.session)) admin.add_view(AdminModelView(Prize, db.session)) admin.add_view(AdminModelView(Interview, db.session)) admin.add_view(AdminModelView(ScheduleEntry, db.session)) with open(os.path.join(__location__, 'secrets.json')) as secrets_file: secrets = json.load(secrets_file) app.config.update( MAIL_SERVER='smtp.gmail.com', MAIL_PORT=465, MAIL_USERNAME='******', MAIL_DEFAULT_SENDER='*****@*****.**', MAIL_PASSWORD=secrets.get("email_password"), MAIL_USE_SSL=True, MAIL_USE_TLS=False ) login_manager.init_app(app) admin.init_app(app) mail.init_app(app) register_routes(app) @app.errorhandler(404) def page_not_found(e): return render_template('404.tmpl'), 404 @login_manager.user_loader def load_user(id): return db.session.query(User).filter_by(id=id).first() @app.context_processor def inject_marathon_info(): marathon_info = getattr(g, "marathon_info", None) if not marathon_info: marathon_info = g.marathon_info = db.session.query(MarathonInfo).first() current_game = db.session.query(Game).filter_by(id=marathon_info.current_game_id).first() return dict(marathon_info=marathon_info, current_game=current_game) return app
def create_app(bot_db_query=False): app = Flask(__name__.split('.')[0]) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///{}'.format( getenv('SQLALCHEMY_DATABASE_URI', 'pizza.db')) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['USER_NAME'] = getenv('USER_NAME', 'admin') app.config['PASSWORD'] = getenv('PASSWORD', 'password') db.init_app(app) if not bot_db_query: register_commands(app) admin.init_app(app) admin.add_view(PizzaView(Pizza, db.session)) return app
def register_extensions(app): from extensions import security, mail, migrate, admin, ckeditor db.init_app(app) security.init_app(app, user_datastore, confirm_register_form=ExtendedRegisterForm) mail.init_app(app) md = Markdown(app, extensions=['fenced_code', 'tables']) # migrate.init_app(app, db) # Add Flask-Admin views for Users and Roles admin.init_app(app) ckeditor.init_app(app) admin.add_view(UserAdmin(User, db.session)) admin.add_view(RoleAdmin(Role, db.session)) admin.add_view(PostAdmin(Post, db.session))
def register_extensions(self): cache.init_app(self) db.init_app(self) user_datastore = SQLAlchemyUserDatastore(db, User, Role) security = Security(self, user_datastore, register_form=ExtendedRegisterForm) mail.init_app(self) debug_toolbar.init_app(self) migrate.init_app(self, db) admin.init_app(self) @security.context_processor def security_context_processor(): return dict( admin_base_template=admin.base_template, admin_view=admin.index_view, # h=admin_helpers, get_url=url_for )
def register_extensions(app): cache.init_app(app) db.init_app(app) admin.init_app(app) register_admin_views(admin) user_datastore = MongoEngineUserDatastore(db, User, Role) security = Security(app, user_datastore, register_form=ExtendedRegisterForm) mail.init_app(app) # socketio.init_app(app) app.config['DEBUG_TB_PANELS'] = ['flask.ext.mongoengine.panels.MongoDebugPanel', 'flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel'] debug_toolbar.init_app(app) return None
def create_app(self): # THIS NEEDS TO MIRROR YOUR __init__.py's APP INSTANTIATION # ... or whatever you need to setup the right test environment from flaskinni import app app.config.from_object('settings') user_datastore = SQLAlchemyUserDatastore(db, User, Role) register_extensions(app) # images configure_uploads(app, uploaded_images) # sort of like an application factory db.init_app(app) security.init_app(app, user_datastore, confirm_register_form=ExtendedRegisterForm) mail.init_app(app) md = Markdown(app, extensions=['fenced_code', 'tables']) # migrate.init_app(app, db) # Add Flask-Admin views for Users and Roles admin.init_app(app) admin.add_view(UserAdmin(User, db.session)) admin.add_view(RoleAdmin(Role, db.session)) admin.add_view(PostAdmin(Post, db.session))
# encoding=utf-8 import os from flask import Flask app = Flask(__name__) app.config.from_object("dotafantasy.config.%s" % os.environ.get("DOTAFANTASY_CONFIG", "production")) from extensions import db, admin db.init_app(app) admin.init_app(app) from dotafantasy.views import * from dotafantasy.admin import * if __name__ == "__main__": app.run(host="0.0.0.0", port=app.config.get("PORT", 6600), debug=True)
def create_app(): app = Flask(__name__) # Create modules app.register_blueprint(rootModule) app.register_blueprint(moodlensModule) app.register_blueprint(opinionModule) app.register_blueprint(propagateModule) app.register_blueprint(indexModule) app.register_blueprint(evolutionModule) app.register_blueprint(identifyModule) app.register_blueprint(quota_systemModule) app.register_blueprint(dataoutModule) # the debug toolbar is only enabled in debug mode app.config['DEBUG'] = True app.config['ADMINS'] = frozenset(['*****@*****.**']) app.config['SECRET_KEY'] = 'SecretKeyForSessionSigning' app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://%s:@%s/%s?charset=utf8' % (MYSQL_USER, MYSQL_HOST, MYSQL_DB) app.config['SQLALCHEMY_ECHO'] = False app.config['DATABASE_CONNECT_OPTIONS'] = {} app.config['THREADS_PER_PAGE'] = 8 app.config['CSRF_ENABLED'] = True app.config['CSRF_SESSION_KEY'] = 'somethingimpossibletoguess' # Enable the toolbar? app.config['DEBUG_TB_ENABLED'] = app.debug # Should intercept redirects? app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = True # Enable the profiler on all requests, default to false app.config['DEBUG_TB_PROFILER_ENABLED'] = True # Enable the template editor, default to false app.config['DEBUG_TB_TEMPLATE_EDITOR_ENABLED'] = True # debug toolbar # toolbar = DebugToolbarExtension(app) app.config['MONGO_HOST'] = MONGODB_HOST app.config['MONGO_PORT'] = MONGODB_PORT app.config['MONGODB_SETTINGS'] = { 'db': MASTER_TIMELINE_54API_WEIBO_DB, 'host': MONGODB_HOST, 'port': MONGODB_PORT } # Create mysql database db.init_app(app) with app.test_request_context(): db.create_all() # Create mongo_engine mongo_engine.init_app(app) admin.init_app(app) """ # Create mysql database admin, visit via url: http://HOST:PORT/admin/ for m in model.__all__: m = getattr(model, m) n = m._name() admin.add_view(SQLModelView(m, db.session, name=n)) for m in mongodb_model.__all__: admin.add_view(MongoDBView(m)) """ # init mongo mongo.init_app(app) return app
def configure_admin(app): admin.add_view(FileAdmin(app.config['STATIC_ROOT'], '/static/', name='Static Files')) #admin.add_view(ModelView(User, sqldb.session)) admin.init_app(app)
def create_app(config_name): """ An flask application factory, as explained here: http://flask.pocoo.org/docs/patterns/appfactories/ Arguments: config_name: the key value if the config.config dict, e.g. 'dev', 'test', 'product', 'default' """ app = Flask(__name__) app.config.from_object(config[config_name]) # 首先调用配置对象的init_app config[config_name].init_app(app) # init SQLAlchemy db.init_app(app) # init Bcrypt bcrypt.init_app(app) # init LoginManager login_manager.init_app(app) # init Principal principal.init_app(app) @identity_loaded.connect_via(app) def on_identity_loaded(sender, identity): # Set the identity user object identity.user = current_user # Add the UserNeed to the identity if hasattr(current_user, 'id'): identity.provides.add(UserNeed(current_user.id)) # Add each role to the identity if hasattr(current_user, 'roles'): for role in current_user.roles: identity.provides.add(RoleNeed(role.name)) # init DebugToolbarExtension debug_toolbar.init_app(app) # init Cache cache.init_app(app) # init Flask-Assets assets_env.init_app(app) assets_env.register("main_css", main_css) assets_env.register("main_js", main_js) # init Flask-Admin admin.init_app(app) admin.add_view(CustomView(name='Custom')) models = [User, Role, Comment, Tag] for model in models: admin.add_view(CustomModelView(model, db.session, category='Models')) # 单独处理Post model,因为我们自定了CustomModelView的自类PostView admin.add_view(PostView(Post, db.session, category='Models')) admin.add_view(CustomFileAdmin( os.path.join(os.path.dirname(__file__), 'static'), '/static/', name='Static Files' )) # init Flask-Bootstrap bootstrap.init_app(app) # init Flask-Mail mail.init_app(app) # init Flask-Moment moment.init_app(app) ############################################################################ # init RestApi rest_api.add_resource(PostApi, '/api/post', '/api/post/<int:post_id>', endpoint='api') rest_api.add_resource(AuthApi, '/api/auth') rest_api.init_app(app) # register blueprint app.register_blueprint(blog_blueprint) app.register_blueprint(main_blueprint) app.register_blueprint(auth_blueprint) # register api blueprint app.register_blueprint(api_blueprint) return app
def create_app(app_config): app = Flask(__name__) app.config.from_object(app_config) # create a fake MarathonInfo if one doesn't exist # just enough to bootstrap info = db.session.query(MarathonInfo).first() if not info: now = datetime.datetime.now() half_an_hour_earlier = now - datetime.timedelta(minutes=30) half_an_hour_later = now + datetime.timedelta(minutes=30) test_game = Game.create(name='Test Game', developer='Test Dev') test_play = ScheduleEntry.create( title='Play The Test Game', game_id=test_game.id, start=half_an_hour_earlier, end=half_an_hour_later ) MarathonInfo.create( start=(now - datetime.timedelta(hours=10)), hours=31, total=12345.67, current_game_id=test_game.id, next_game_id=test_game.id, current_schedule_entry=test_play.id ) __location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) try: # dev with open(os.path.join(__location__, 'secrets.json')) as secrets_file: secrets = json.load(secrets_file) app.secret_key = secrets.get('app_secret') app_config.SECRET_KEY = app.secret_key app.config.update( MAIL_SERVER='smtp.gmail.com', MAIL_PORT=465, MAIL_USERNAME='******', MAIL_DEFAULT_SENDER='*****@*****.**', MAIL_PASSWORD=secrets.get("email_password"), MAIL_USE_SSL=True, MAIL_USE_TLS=False ) except IOError: # prod app.secret_key = os.environ.get('IGG_APP_SECRET') app_config.SECRET_KEY = app.secret_key app.config.update( MAIL_SERVER='smtp.gmail.com', MAIL_PORT=465, MAIL_USERNAME='******', MAIL_DEFAULT_SENDER='*****@*****.**', MAIL_PASSWORD=os.environ.get("IGG_EMAIL_PASSWORD"), MAIL_USE_SSL=True, MAIL_USE_TLS=False ) login_manager.login_view = 'login.show' admin.add_view(AdminModelView(Challenge, db.session, endpoint='challengeadmin')) admin.add_view(AdminModelView(Game, db.session)) admin.add_view(AdminModelView(MarathonInfo, db.session)) admin.add_view(AdminModelView(Prize, db.session)) admin.add_view(AdminModelView(Interview, db.session)) admin.add_view(AdminModelView(ScheduleEntry, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(Crew, db.session)) admin.add_view(ImageView(Image, db.session)) login_manager.init_app(app) admin.init_app(app) mail.init_app(app) register_routes(app) @app.errorhandler(404) def page_not_found(e): return render_template('404.tmpl'), 404 @login_manager.user_loader def load_user(id): return db.session.query(User).filter_by(id=id).first() @app.context_processor def inject_marathon_info(): marathon_info = getattr(g, "marathon_info", None) if not marathon_info: marathon_info = g.marathon_info = db.session.query(MarathonInfo).first() current_game = db.session.query(Game).filter_by(id=marathon_info.current_game_id).first() return dict(marathon_info=marathon_info, current_game=current_game) return app
from flask import Flask from flask_security import SQLAlchemyUserDatastore, Security from config import Configuration from extensions import db, admin from models import CarBrand, CarModel, Status, Application, User, Role from admin import AdminView app = Flask(__name__) app.config.from_object(Configuration) db.init_app(app) # Flask admin admin.init_app(app) admin_views = [ AdminView(CarBrand, db.session), AdminView(CarModel, db.session), AdminView(Status, db.session), AdminView(Application, db.session) ] admin.add_views(*admin_views) # Flask security user_datastore = SQLAlchemyUserDatastore(db, User, Role) security = Security(app, user_datastore)
def create_app(): app = Flask(__name__) # Create modules app.register_blueprint(rootModule) app.register_blueprint(moodlensModule) app.register_blueprint(opinionModule) app.register_blueprint(propagateModule) app.register_blueprint(indexModule) app.register_blueprint(evolutionModule) app.register_blueprint(identifyModule) app.register_blueprint(quota_systemModule) app.register_blueprint(dataoutModule) # the debug toolbar is only enabled in debug mode app.config['DEBUG'] = True app.config['ADMINS'] = frozenset(['*****@*****.**']) app.config['SECRET_KEY'] = 'SecretKeyForSessionSigning' app.config[ 'SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqldb://%s:@%s/%s?charset=utf8' % ( MYSQL_USER, MYSQL_HOST, MYSQL_DB) app.config['SQLALCHEMY_ECHO'] = False app.config['DATABASE_CONNECT_OPTIONS'] = {} app.config['THREADS_PER_PAGE'] = 8 app.config['CSRF_ENABLED'] = True app.config['CSRF_SESSION_KEY'] = 'somethingimpossibletoguess' # Enable the toolbar? app.config['DEBUG_TB_ENABLED'] = app.debug # Should intercept redirects? app.config['DEBUG_TB_INTERCEPT_REDIRECTS'] = True # Enable the profiler on all requests, default to false app.config['DEBUG_TB_PROFILER_ENABLED'] = True # Enable the template editor, default to false app.config['DEBUG_TB_TEMPLATE_EDITOR_ENABLED'] = True # debug toolbar # toolbar = DebugToolbarExtension(app) app.config['MONGO_HOST'] = MONGODB_HOST app.config['MONGO_PORT'] = MONGODB_PORT app.config['MONGODB_SETTINGS'] = { 'db': MASTER_TIMELINE_54API_WEIBO_DB, 'host': MONGODB_HOST, 'port': MONGODB_PORT } # Create mysql database db.init_app(app) with app.test_request_context(): db.create_all() # Create mongo_engine mongo_engine.init_app(app) admin.init_app(app) """ # Create mysql database admin, visit via url: http://HOST:PORT/admin/ for m in model.__all__: m = getattr(model, m) n = m._name() admin.add_view(SQLModelView(m, db.session, name=n)) for m in mongodb_model.__all__: admin.add_view(MongoDBView(m)) """ # init mongo mongo.init_app(app) return app
def create_app(app_config): app = Flask(__name__) app.config.from_object(app_config) # create a fake MarathonInfo if one doesn't exist # just enough to bootstrap info = db.session.query(MarathonInfo).first() if not info: now = datetime.datetime.now() half_an_hour_earlier = now - datetime.timedelta(minutes=30) half_an_hour_later = now + datetime.timedelta(minutes=30) test_game = Game.create(name='Test Game', developer='Test Dev') test_play = ScheduleEntry.create(title='Play The Test Game', game_id=test_game.id, start=half_an_hour_earlier, end=half_an_hour_later) MarathonInfo.create(start=(now - datetime.timedelta(hours=10)), hours=31, total=12345.67, current_game_id=test_game.id, next_game_id=test_game.id, current_schedule_entry=test_play.id) __location__ = os.path.realpath( os.path.join(os.getcwd(), os.path.dirname(__file__))) try: # dev with open(os.path.join(__location__, 'secrets.json')) as secrets_file: secrets = json.load(secrets_file) app.secret_key = secrets.get('app_secret') app_config.SECRET_KEY = app.secret_key app.config.update(MAIL_SERVER='smtp.gmail.com', MAIL_PORT=465, MAIL_USERNAME='******', MAIL_DEFAULT_SENDER='*****@*****.**', MAIL_PASSWORD=secrets.get("email_password"), MAIL_USE_SSL=True, MAIL_USE_TLS=False) except IOError: # prod app.secret_key = os.environ.get('IGG_APP_SECRET') app_config.SECRET_KEY = app.secret_key app.config.update(MAIL_SERVER='smtp.gmail.com', MAIL_PORT=465, MAIL_USERNAME='******', MAIL_DEFAULT_SENDER='*****@*****.**', MAIL_PASSWORD=os.environ.get("IGG_EMAIL_PASSWORD"), MAIL_USE_SSL=True, MAIL_USE_TLS=False) login_manager.login_view = 'login.show' admin.add_view( AdminModelView(Challenge, db.session, endpoint='challengeadmin')) admin.add_view(AdminModelView(Game, db.session)) admin.add_view(AdminModelView(MarathonInfo, db.session)) admin.add_view(AdminModelView(Prize, db.session)) admin.add_view(AdminModelView(Interview, db.session)) admin.add_view(AdminModelView(ScheduleEntry, db.session)) admin.add_view(AdminModelView(User, db.session)) admin.add_view(AdminModelView(Crew, db.session)) admin.add_view(ImageView(Image, db.session)) login_manager.init_app(app) admin.init_app(app) mail.init_app(app) register_routes(app) @app.errorhandler(404) def page_not_found(e): return render_template('404.tmpl'), 404 @login_manager.user_loader def load_user(id): return db.session.query(User).filter_by(id=id).first() @app.context_processor def inject_marathon_info(): marathon_info = getattr(g, "marathon_info", None) if not marathon_info: marathon_info = g.marathon_info = db.session.query( MarathonInfo).first() current_game = db.session.query(Game).filter_by( id=marathon_info.current_game_id).first() return dict(marathon_info=marathon_info, current_game=current_game) return app
def init_extensions(app): db.init_app(app) admin.init_app(app, index_view=FooAdminIndexView()) admin.add_view(AuthenticationModelView(User, db.session)) login_manager.init_app(app) login_manager.login_view = 'login'