def create_app(): app = Flask(__name__) # app.config['CELERY_IMPORTS'] = ('backgroundtask.add', ) # app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0' # app.config['CELERY_RESULT_BACKEND'] = 'redis://localhost:6379/0' app.config.from_object(Config) app.config.from_object(TaskConifg) Config.init_app(app) # app.config['SESSION_TYPE'] = 'filesystem' # app.config['SESSION_FILE_DIR'] = tempfile.gettempdir() # app.permanent_session_lifetime = datetime.timedelta(days=1) # sess.init_app(app) moment.init_app(app) db.app = app db.init_app(app) login_manager.init_app(app) # celery.init_app(app) from .main import main as main_blueprint from .cimiss import cimiss as cimiss_blueprint from .product import product as product_blueprint from .page2 import page2 as page2_blueprint app.register_blueprint(main_blueprint) app.register_blueprint(cimiss_blueprint, url_prefix='/cimiss') app.register_blueprint(product_blueprint, url_prefix='/product') app.register_blueprint(page2_blueprint, url_prefix='/page2') socketio.init_app(app, async_mode='eventlet', message_queue=Basic.SOCKET_RMQ + '/socketio') scheduler.init_app(app) scheduler.start() return app
def create_app(object_name): app = Flask(__name__) app.config.from_object(object_name) CORS(app) assets_env.init_app(app) assets_env.register('main_css', main_css) cache.init_app(app) csrf = CSRFProtect(app) csrf.exempt(api_blueprint) csrf.init_app(app) db.init_app(app) login_manager.init_app(app) app.register_blueprint(blog_blueprint) app.register_blueprint(control_blueprint) app.register_blueprint(api_blueprint) app.register_blueprint(upload_blueprint) app.add_template_filter(format_time, 'format_time') app.add_template_filter(html_to_text, 'html_to_text') app.add_template_filter(time_human, 'time_human') return app
def register_extensions(app): bootstrap.init_app(app) db.init_app(app) login_manager.init_app(app) csrf.init_app(app) ckeditor.init_app(app) moment.init_app(app) toolbar.init_app(app) migrate.init_app(app, db)
def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) config[config_name].init_app(app) cache.init_app(app) db.init_app(app) db.app = app login_manager.init_app(app) mail.init_app(app) setup_themes(app) Mobility(app) from .utils.filters import register_filters register_filters(app) from .utils.processors import utility_processor app.context_processor(utility_processor) from .api import api as api_blueprint app.register_blueprint(api_blueprint, url_prefix='/api') from .main import main as main_blueprint app.register_blueprint(main_blueprint) from .account import account as auth_blueprint app.register_blueprint(auth_blueprint, url_prefix='/account') from .admins import admin admin.init_app(app) @app.route('/favicon.ico') def favicon(): return send_from_directory(app.static_folder, 'favicon.ico', mimetype='image/vnd.microsoft.icon') @app.route('/robots.txt') def robotstxt(): return send_from_directory(app.static_folder, 'robots.txt') # 暂时解决因Gunicorn中引发ERROR 11而无法正常提交的问题 #@app.teardown_request #def teardown_request(response_or_exc): # if app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']: # try: # db.session.commit() # except: # db.session.rollback() # db.session.remove() return app
def create_app(): app.config.from_object('config') app.config.setdefault('SQLALCHEMY_TRACK_MODIFICATIONS', True) app.config['MAX_CONTENT_LENGTH'] = 3 * 1024 * 1024 # logo文件最大不能超过3M,否则返回413状态码 db.init_app(app) principal.init_app(app) login_manager.init_app(app) app.register_blueprint(web, url_prefix='') # url_prefix 不能为'/' app.register_blueprint(web_api_1_0_blueprint, url_prefix='/api/v1') # app.register_blueprint(host, url_prefix='/host_scan') # app.register_blueprint(port, url_prefix='/port_scan') app.register_blueprint(engine) return app
def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) db.init_app(app) db.app = app if not app.config['TESTING']: configure_custom_settings(app) config[config_name].init_app(app) thumbnail.init_app(app) babel.init_app(app) cache.init_app(app) login_manager.init_app(app) mail.init_app(app) setup_themes(app) Mobility(app) from .utils.filters import register_filters register_filters(app) from .utils.processors import utility_processor app.context_processor(utility_processor) from .api import api as api_blueprint app.register_blueprint(api_blueprint, url_prefix='/api') from .main import main as main_blueprint app.register_blueprint(main_blueprint) from .account import account as auth_blueprint app.register_blueprint(auth_blueprint, url_prefix='/account') from .admins import admin admin.init_app(app) @app.route('/favicon.ico') def favicon(): return send_from_directory(app.static_folder, 'favicon.ico', mimetype='image/vnd.microsoft.icon') @app.route('/robots.txt') def robotstxt(): return send_from_directory(app.static_folder, 'robots.txt') return app
def create_app(): app = Flask(__name__) register_blueprint(app) bootstrap = Bootstrap(app) # load conffig app.config.from_object('secure') app.config.from_object('settings') db.init_app(app) with app.app_context(): # Extensions like Flask-SQLAlchemy now know what the "current" app # is while within this block. Therefore, you can now run........ db.create_all() login_manager.login_view = 'web.login' login_manager.login_message = '请先登录' login_manager.init_app(app) return app
def create_app(): app.config.from_object('config') app.config.setdefault('SQLALCHEMY_TRACK_MODIFICATIONS', True) db.app = app db.init_app(app) if not scheduler.running: scheduler.init_app(app) scheduler.start() login_manager.init_app(app) app.register_blueprint(asset_app, url_prefix='/asset') app.register_blueprint(admin_app, url_prefix='') app.register_blueprint(inspect_app, url_prefix='/insp') app.register_blueprint(log_an_app, url_prefix='/log') app.register_blueprint(ops_app, url_prefix='/ops') # app.register_blueprint(asset_api_blue, url_prefix='/api/v1.0') return app
def create_app(config_name): app = Flask(__name__) app.config['APPENV'] = str(get_appconfig()) app.config.from_object(config[config_name]) config[config_name].init_app(app) cache.init_app(app) db.init_app(app) db.app = app login_manager.init_app(app) mail.init_app(app) setup_themes(app) Mobility(app) from .utils.filters import register_filters register_filters(app) from .utils.processors import utility_processor app.context_processor(utility_processor) from .api import api as api_blueprint app.register_blueprint(api_blueprint, url_prefix='/api') from .main import main as main_blueprint app.register_blueprint(main_blueprint) from .account import account as auth_blueprint app.register_blueprint(auth_blueprint, url_prefix='/account') from .admins import admin admin.init_app(app) # 暂时解决因Gunicorn中引发ERROR 11而无法正常提交的问题 @app.teardown_request def teardown_request(response_or_exc): if app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN']: try: db.session.commit() except: db.session.rollback() db.session.remove() return app
MAIL_PASSWORD = '******' app.config['MAIL_SERVER'] = 'smtp.126.com' app.config['MAIL_PORT'] = 25 app.config['MAIL_USE_TLS'] = True app.config['MAIL_USERNAME'] = MAIL_USERNAME app.config['MAIL_PASSWORD'] = MAIL_PASSWORD app.config[ 'SQLALCHEMY_DATABASE_URI'] = "mysql://*****:*****@127.0.0.1/test?charset=utf8" app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db.init_app(app) # db.drop_all(app=app) # Only for debugging db.create_all(app=app) login_manager.init_app(app) login_manager.session_protection = "strong" login_manager.login_view = "login" mail = Mail(app) #================ USER FUNCTION ============= ## Get info of another user #@app.route('/get_user', methods=['POST']) #@login_required #def get_user(): # form = {k:request.form[k].strip() for k in request.form} # if utils.validate_userid(int(form['user_id'])): # user = User.query.filter_by(id=int(form['user_id'])).first() # return Validity(True, user.get_info_map()) # else:
def create_app(object_name): app = Flask(__name__, template_folder='templates') # here = os.path.abspath(os.path.dirname(__file__)) if os.path.exists('dev'): app.config.from_object(DevConfig) else: app.config.from_object(ProdConfig) eventlet.monkey_patch() mako.init_app(app) db.init_app(app) hashing.init_app(app) admin.init_app(app) login_manager.init_app(app) # csrf.init_app(app) debug_toolbar.init_app(app) cache.init_app(app) SOCKETIO_REDIS_URL = app.config['CELERY_BACKEND_URL'] socketio.init_app(app, async_mode='eventlet', message_queue=SOCKETIO_REDIS_URL) # celery = Celery(app.name) # celery.conf.update(app.config) api.init_app(app) admin.add_view(CustomView(name='Custom')) show_models = [ YjStationInfo, YjPLCInfo, YjGroupInfo, YjVariableInfo, Value, TransferLog, User ] for model in show_models: admin.add_view(CustomModelView(model, db.session, category='models')) admin.add_view( CustomFileAdmin(os.path.join(os.path.dirname(__file__), 'static'), '/static/', name='Static File')) def get_current_user(): return session['username'] @app.errorhandler(500) def server_inner_error(error): return u"内部代码错误 by yakumo17s" def close_db_connection(sender, **extra): db.session.close() # sender.logger.debug('Database close.') request_tearing_down.connect(close_db_connection, app) @app.context_processor def template_extras(): return {'enumerate': enumerate, 'current_user': current_user} @app.template_filter('capitalize') def reverse_filter(s): return s.capitalize() @user_logged_in.connect_via(app) def _track_logins(sender, user, **extra): # 记录用户登录次数,登录IP user.login_count += 1 user.last_login_ip = request.remote_addr user.last_login_time = int(time.time()) db.session.add(user) db.session.commit() @login_manager.user_loader def user_loader(user_id): user = User.query.get(user_id) return user def _get_frame(date_string): db = MySQLdb.connect('localhost', 'web', 'web', 'pyplc') query = 'SELECT * FROM {}'.format(date_string) df = read_sql(query, db) df = df.head(100) return df @app.route( '/db/<any(yjstationinfo, yjplcinfo, yjgroupinfo, yjvariableinfo):date_string>/' ) @cache.cached(timeout=10) def show_tables(date_string=None): df = _get_frame(date_string) if isinstance(df, bool) and not df: return 'Bad data format!' return render_template('show_data.html', df=df.to_html(classes='frame'), date_string=date_string) app.register_blueprint(basic_blueprint) app.register_blueprint(api_blueprint) app.register_blueprint(client_blueprint) return app
from forms import TodoListForm, LoginForm from ext import db, login_manager from models import TodoList, User SECRET_KEY = 'This is my key' app = Flask(__name__) bootstrap = Bootstrap(app) app.secret_key = SECRET_KEY app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://*****:*****@59.111.123.138/test" app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db.init_app(app) login_manager.init_app(app) login_manager.login_view = "login" @app.route('/', methods=['GET', 'POST']) @login_required def show_todo_list(): form = TodoListForm() if request.method == 'GET': todolists = TodoList.query.all() return render_template('index.html', todolists=todolists, form=form) else: if form.validate_on_submit(): todolist = TodoList(current_user.id, form.title.data, form.status.data) db.session.add(todolist) db.session.commit()