Esempio n. 1
0
def create_app(config_name):
    '''
    create flask's app object
    :param config_name: str  can be choose modle('develop','product')
    :return: app
    '''
    app = Flask(__name__)
    # According to config's name to acquire the class of config param.
    config_cls = config_map.get(config_name)
    app.config.from_object(config_cls)

    # use app to init db
    global redis_store
    db.init_app(app)

    # init tool of redis
    redis_store = redis.StrictRedis(host=config_cls.REDIS_HOST,
                                    port=config_cls.REDIS_PORT)

    # 利用flask-session,将session 数据保存到redis中去
    Session(app)  # Session

    # csrf protect
    CSRFProtect(app)
    # 为flask 添加自定义的转换器
    app.url_map.converters["re"] = ReConverter
    # register blueprint
    from ihub import api_1_0  # solve loop import
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    # 注册提供静态文件的蓝图
    from ihub.web_html import html
    app.register_blueprint(html)

    return app
Esempio n. 2
0
def create_app(config_name):
    setup_log()
    app = Flask(__name__)
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 使用初始化db
    db.init_app(app)
    # redis 配置
    # 创建redis
    global redis_store
    redis_store = redis.Redis(host=config_class.REDIS_HOST,
                              port=config_class.REDIS_PORT)

    # session  cookie
    Session(app)

    # post请求 wtf csrf
    CSRFProtect(app)

    # 为flask添加自定义的转换器
    app.url_map.converters['re'] = ReConverter
    # 注册蓝图
    from lghome import api_1_0
    app.register_blueprint(api_1_0.api)
    # 注册静态文件蓝图
    from lghome import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 3
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str 配置模式名字("develop","product")
    :return:
    """
    app = Flask(__name__)
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 使用app初始化db
    db.init_app(app)

    # 初始化 redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,port=config_class.REDIS_PORT)

    # 利用flask-session,将session数据保存到redis中
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)

    # 注册蓝图
    from miaoyue import api_1_0
    app.register_blueprint(api_1_0.api, url_perfix = "/api/v1.0")

    return app
Esempio n. 4
0
def create_app(config_name):
    app = Flask(__name__)
    # 根据配置模式的类获得对应类型的app
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # app初始化db
    db.init_app(app)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_POST)

    # 将redis保存到session中
    Session(app)

    # 为flask提供csrf防护
    CSRFProtect(app)

    # 添加re转换器
    app.url_map.converters["re"] = ReConverter

    # 注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    # 提供注册静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 5
0
def create_app(config_name):
    app = Flask(__name__)

    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    db.init_app(app)

    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    Session(app)

    search.init_app(app)

    # CSRFProtect(app)

    # 添加自定义转换器
    from zhizhutemplate.utils.commons import ReConverter
    app.url_map.converters['re'] = ReConverter

    # 注册蓝图
    from zhizhutemplate import zzt_app
    app.register_blueprint(zzt_app.api)

    # 注册静态文件蓝图
    from zhizhutemplate import web_static
    app.register_blueprint(web_static.html)

    return app
Esempio n. 6
0
def create_app(config_name):
    """
    創建flask的應用對象
    :params config_name: str 配置模式的名字 ("develop", "product")
    :return:
    """
    app = Flask(__name__)

    # 根據配置模式名字獲取配置參數的類
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    db.init_app(app)
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST, port = config_class.REDIS_PORT)

    # 利用flask-session,將session數據保存到redis中
    Session(app)

    # 為flask補充csrf防護
    CSRFProtect(app)

    from .home import api as home_blueprint
    # 註冊藍圖
    app.register_blueprint(home_blueprint)
    return app
Esempio n. 7
0
def create_app(config_type):
    # 创建flask应用对象
    app = Flask(__name__)

    # 获取配置模式类型
    config_class = config_map.get(config_type)
    app.config.from_object(config_class)

    # 初始化db,将db绑定到app
    db.init_app(app)

    # 初始化redis工具
    global redis_conn
    redis_conn = redis.StrictRedis(host=config_class.REDIS_HOST,
                                   port=config_class.REDIS_PORT)

    # 将session数据保存到redis中
    Session(app)

    # 为flask对象补充csrf防护
    CSRFProtect(app)

    # 将自定义转换器添加到app
    app.url_map.converters['re'] = ReConverter

    # 注册蓝图到app,使用时再import防止循环导入
    from ihome.api_v1 import api
    app.register_blueprint(api, url_prefix="/api_v1")
    from ihome.index import html  # 访问静态文件的蓝图
    app.register_blueprint(html)

    return app
Esempio n. 8
0
def create_app(config_name):
    """
    創建flask的應用對象
    :param config_name: str 配置模式的名字 ("develop", "product")
    :return:
    """
    app = Flask(__name__)

    # 根據配置模式的名字獲取配置參數的類
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 使用app初始化db
    db.init_app(app)

    # 初始化 redis
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 利用flask-session,將session數據保存到redis中
    Session(app)

    # 為flask補充csrf防護
    CSRFProtect(app)

    # 注冊藍圖
    from ihome import api_1_0  # 需要才導入,避免循環導入流程卡死
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    return app
Esempio n. 9
0
def create_app(config_name):
    """
    创建flask应用对象
    :param config_name:str 配置模式的名字("develop","produce")
    :return:app
    """
    app = Flask(__name__)
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    db.init_app(app)

    # 创建redis连接对象
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 用flask——session将数据保存到redis中
    Session(app)
    # 为flask添充csrf防护
    CSRFProtect(app)
    # 为flask添加自定义的转换器
    app.url_map.converters["re"] = ReConverter

    # 注册蓝图
    from ihome import api_1
    app.register_blueprint(api_1.api, url_prefix='/api/v1')

    # 注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 10
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str 配置模式的名字 ("develop","product")
    :return:
    """
    app = Flask(__name__)
    # 根据配置文件的名字获取配置参数的类
    app.config.from_object(config_map.get(config_name))

    # 使用app初始化db,这种推迟方法每个flask的扩展都有
    db.init_app(app)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=app.config.get('REDIS_HOST'),
                                    port=app.config.get('REDIS_PORT'))

    # 利用flask_session,修改flask保存session信息的机制
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)
    # 为flask添加自定义的转换器
    app.url_map.converters["re"] = ReConverter
    # 注册蓝图
    from ihome import api_1_0  # 放在这里是为了解决循环导入的问题
    app.register_blueprint(api_1_0.api, url_prefix='/api/v1.0')
    # 注册提供静态文件的蓝图
    from ihome.web_html import html
    app.register_blueprint(html)

    return app
Esempio n. 11
0
def create_app(type):
    """
    创建flask对象
    :param type: str   type = (deve,prod)
    :return: app object
    """
    app = Flask(__name__)
    # flask对象配置参数
    conf = config_map.get(type)
    app.config.from_object(conf)
    # app对象初始化db
    db.init_app(app)
    # 为flask补充csrf防护
    CSRFProtect(app)
    # 将session数据保存到redis
    Session(app)
    # redis存储配置
    global redis_conn
    redis_conn = redis.StrictRedis(host=app.config['REDIS_HOST'],
                                   port=app.config['REDIS_PORT'],
                                   db=app.config['REDIS_DB'])

    # 为flask添加转换器
    app.url_map.converters['re'] = RegexConverter
    # 注册蓝图
    from ihome.api_v1_0 import api
    app.register_blueprint(api, url_prefix='/api/v1.0')

    from ihome.html_web import html
    app.register_blueprint(html)

    return app
Esempio n. 12
0
def create_app(config_name):
    '''
    创建flask应用对象
    :param config_name : str配置模式的名字 ("develop","product")
    :return:
    '''
    app = Flask(__name__)

    #根据配置模式的名字配置参数的类
    config_cls = config_map.get(config_name)
    app.config.from_object(config_cls)

    #使用app初始化数据库
    db.init_app(app)
    global redis_store
    redis_store = redis.StrictRedis(host=config_cls.REDIS_HOST,
                                    port=config_cls.REDIS_PORT)

    # 利用flask_session,讲session数据保存到redis中
    Session(app)

    # 为flask补充csrf防护
    csrf.init_app(app)

    #注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")
    return app
Esempio n. 13
0
def creat_app(config_name):
    """创建flask应用对象
    :param config_name:str 配置模式的名字
    :return:
    """
    app = Flask(__name__)
    config_class = config_map.get(config_name)
    ###根据配置模式的名字获取配置参数的类
    app.config.from_object(config_class)
    ##使用appdb
    db.init_app(app)
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)
    ##将session数据保存到redis
    Session(app)
    ##添加CSRF防护机制
    #CSRFProtect(app)
    ###为flask添加自定义转换器
    app.url_map.converters['re'] = ReConverter
    ###在程序实例中注册该蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/V1.0")
    ##注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 14
0
def create_app(config_name):
    """
    创建app
    :param config_name: str ("develop") ("product")
    :return: app
    """
    app = Flask(__name__)

    config_class = config_map.get(config_name)

    app.config.from_object(config_class)

    db.init_app(app)

    CSRFProtect(app)

    Session(app)

    # 自定义转换器注册到app里
    app.url_map.converters["re"] = ReConverter

    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)

    # 注册蓝图
    from . import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    # 注册静态文件蓝图
    from ihome.web_html import html
    app.register_blueprint(html)

    return app
Esempio n. 15
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str 配置模式的名字('develop','product')
    :return: app
    """
    app = Flask(__name__)
    # 导入配置信息,根据配置模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)
    # 使用app初始化db
    db.init_app(app)
    # 利用flask-session,将session数据保存到redis中
    Session(app)
    # 为flask补充csrf防护
    CSRFProtect(app)

    # 为flask添加自定义的转换器
    app.url_map.converters['re'] = ReConverter
    # 在这里导入api_1_0的原因是为了防止循环导包的问题
    from ihome import api_1_0
    # 注册蓝图
    app.register_blueprint(
        api_1_0.api, url_prefix='/api/v1.0'
    )  # url_prefix:前缀 加了之后形成的url:http://127.0.0.1:5000/api/v1.0/

    # 注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)
    return app
Esempio n. 16
0
def create_app(config_name):
    app = Flask(__name__)
    # 根据配置模式的名字,获取对应配置类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 初始化数据库
    db.init_app(app)

    # 初始化redis数据库
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 利用falsk—session将session保存到redis
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)

    # 将自定义的转换器添加到flask应用
    app.url_map.converters["re"] = RegexConverter

    # 注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0/")
    # 注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 17
0
def create_app(config_name):
    # 创建app对象
    app = Flask(__name__)
    # 添加配置类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 设置session存储到redis中
    Session(app)
    # 为flask补充csrf防护
    # CSRFProtect(app)
    # 将数据库对象初始化app
    db.init_app(app)
    # 修改数据迁移对象
    global migrate
    migrate = Migrate(app, db)
    # 修改redis连接对象
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT,
                                    db=1,
                                    decode_responses=True)
    # 注册自定义转换器
    from .utils.commons import ReConverter
    app.url_map.converters['re'] = ReConverter

    # 注册蓝图
    from .api_1_0 import api
    app.register_blueprint(api, url_prefix='/api/v1.0/')
    # 注册静态文件蓝图
    from .web_html import web_html
    app.register_blueprint(web_html, url_prefix='/')

    return app
Esempio n. 18
0
def create_app(config_name):
    """
    根据不同的配置创建flask 应用
    :param config_name: str  {"develop","production"}
    :return:
    """
    app = Flask(__name__)
    config = config_map.get(config_name)
    app.config.from_object(config)
    #初始化数据库
    db.init_app(app)

    #初始化redis db
    global redis_db
    redis_db = redis.StrictRedis(host=config.REDIS_HOST, port=config.REDIS_PORT)

    # flask-session 将session 保存到redis
    Session(app)

    # flask 添加csrf 防护
    CSRFProtect(app)

    #为flask 添加url 正则匹配
    app.url_map.converters["re"]=ReConverter

    #注册蓝图
    from flask_project import api_1_0 #防止循环导包,推迟导入
    app.register_blueprint(api_1_0.api,url_prefix="/api/v1.0")
    return  app
Esempio n. 19
0
def create_app(config_name):
    #初始化flask对象
    app = Flask(__name__)
    #根据字典的key,获取到字典的value
    config_class = config_map.get(config_name)

    #将配置文件添加到flask对象中
    app.config.from_object(config_class)

    db.init_app(app)
    # 初始化数据库对象
    # db = SQLAlchemy(app)
    # 创建redis(存储验证码,存储短信验证码和图片验证码) 第一个参数ip 第二个参数端口,第三个参数表示解码,在redis里面进行操作,用来取数据的时候,byte,string
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT,
                                    decode_responses=True)
    # 导入session:目的用来进行持久化操作,不需要每次都让用户进行登陆,我们需要把session存储到redis当中
    Session(app)
    # 开启CSRF保护,把整个flask对象丢进去,需要添加一个SECRET_KEY秘钥
    CSRFProtect(app)

    @app.after_request
    def after_request(response):
        # 调用函数生成 csrf_token
        csrf_token = generate_csrf()
        # 通过cookie将值传递给前端
        response.set_cookie("csrf_token", csrf_token)
        return response

    # 添加自定义过滤器
    from info.utils.common import do_index_class
    app.add_template_filter(do_index_class, "indexClass")

    from info.utils.common import user_login_data

    @app.errorhandler(404)
    @user_login_data
    def error_404_handler(error):
        user = g.user
        data = {"user_info": user.to_dict() if user else None}
        return render_template("news/404.html", data=data)

    # 注册首页的蓝图
    from info.index import index_blue
    app.register_blueprint(index_blue)
    # 登陆注册的蓝图
    from info.passport import passport_blue
    app.register_blueprint(passport_blue)
    # 新闻详情的蓝图
    from info.news import news_blue
    app.register_blueprint(news_blue)
    # 个人中心的蓝图
    from info.user import profile_blue
    app.register_blueprint(profile_blue)
    # 后台管理系统蓝图
    from info.admin import admin_blue
    app.register_blueprint(admin_blue)

    return app
Esempio n. 20
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str  配置模式的模式的名字 ("develop",  "product")
    :return:
    """
    app = Flask(__name__)

    # 根据配置模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 使用app初始化db, login_manage
    db.init_app(app)

    # 使用app初始化login_manage
    login_manager.init_app(app)

    # @login_manager.user_loader
    # def load_user(user_id):
    #     return User.get(user_id)

    # 注册蓝图
    from saihan import admin, adver, seller, user, common
    app.register_blueprint(common.app_common, url_prefix="/common")
    app.register_blueprint(admin.app_admin, url_prefix="/admin")
    app.register_blueprint(adver.app_adver, url_prefix="/adver")
    app.register_blueprint(seller.app_seller, url_prefix="/seller")
    app.register_blueprint(user.app_user, url_prefix="/user")

    @app.route("/")
    def index():
        return redirect(url_for("common.index"))

    return app
Esempio n. 21
0
def create_app(config_name):
    logging.error('000000000') 
    
    """
        创建app的工厂类
    """
    app = Flask(__name__)

    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    
    # 据库连接对象 绑定 创建好的app
    db.init_app(app)

    # 2.创建redis连接对象(专门做缓存的redis)
    global redis_store
    redis_store = redis.StrictRedis(
        host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)
    # 3.利用flask-session,将session数据保存到redis中
    Session(app)  # 要配一个专门做session缓存的redis
    # 4.给flask补充csrf防护
    CSRFProtect(app)
    # 5.注册蓝图( api 是蓝图的名称)
    from . import api_v_1_0  # 推迟导入
    app.register_blueprint(api_v_1_0.api, url_prefix='/api/v1_0')

    return app
Esempio n. 22
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name:str 配置模式的模式名字('develop','product')
    :rtype: object
    """
    app = Flask(__name__)
    # 根据配置模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 初始化数据库
    db.init_app(app)
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)

    # 利用flask-session将
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)

    # 为flask添加自定义的转换器
    app.url_map.converters['re'] = ReConverter

    # 注册蓝图(解决和db循环导入问题)
    from ihome_api import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix='/api/v1.0')
    from ihome_api import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 23
0
def Create_APP(config_name):
    """
    创建flask应用对象
    :param config_name: str 配置模式的名字('develop','product')
    :return:
    """
    app = Flask(__name__)

    #根据配置模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    #是用app初始化db
    db.init_app(app)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 利用flask-session ,将session数据保存到redis中
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)

    #注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    return app
Esempio n. 24
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str 配置模式的名字("develop","product")
    :return:
    """
    app = Flask(__name__)
    # 根据配置模式的名字 获取对应的配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 使用app初始化数据库
    db.init_app(app)
    # 初始化redis
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)

    # 利用flask-session, 将session数据保存到redis中
    Session(app)

    # 为flask 补充 csrf防护
    # CSRFProtect(app)

    # 注册蓝图
    from project import api_v1
    app.register_blueprint(api_v1.api, url_prefix='/api/v1')

    return app
Esempio n. 25
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name: str  配置模式的模式的名字 ("develop",  "product")
    :return:
    """
    app = Flask(__name__)

    # 根据配置模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 使用app初始化db
    db.init_app(app)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 利用flask-session,将session数据保存到redis中
    Session(app)

    # 为flask补充csrf防护
    CSRFProtect(app)
    # 为flask添加自定义的转换器
    app.url_map.converters["re"] = ReConverter
    # 注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    # 注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)
    return app
Esempio n. 26
0
def create_app(config_name):
    '''
    创建flask应用对象
    :param config_name: str 配置模式的名字 ('develop', 'product')
    :return:
    '''
    app = Flask(__name__)
    # 为flask添加自定义转换器
    app.url_map.converters['re'] = ReConverter
    # 根据配置模式的模式的名字获取配置参数的类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 使用app初始化db
    db.init_app(app)
    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT,
                                    db=5,
                                    decode_responses=True)
    # 利用flask-session,将session数据保存到redis中
    Session(app)
    # 为flask补充csrf防护
    CSRFProtect(app)
    # 注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix='/api/v1.0')
    # 注册提供静态文件的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)
    return app
Esempio n. 27
0
def create_app(config_name):
    '''
    创建flask的应用对象
    :param config_name:str 配置模式名字   ["develop","product"]
    :return:
    '''
    app = Flask(__name__)
    # 根据配置模式名字获取配置参数类
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 使用app初始化db
    db.init_app(app)
    # 创建redis链接对象,下面的host,port可以是另一台电脑的
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)
    # 利用flask_session,将session数据保存到redis中
    Session(app)
    # 为flask补充csrf防护
    CSRFProtect(app)
    # 为flask添加自定义正则
    app.url_map.converters["re"] = ReConverter
    # 注册蓝图
    from ihome_apps import api_v1_0
    app.register_blueprint(api_v1_0.api, url_prefix="/api/v1.0")
    from ihome_apps.web_html import html
    app.register_blueprint(html)
    return app
Esempio n. 28
0
def create_app(config_name):
    '''
    创建flask的应用对象
    :param config_name: str 配置模式的名字('develop','product')
    :return: 返回具体的app对象
    '''

    app = Flask(__name__)
    # 启动项目的时候选择模式
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)
    # 将数据库和flask app绑定
    db.init_app(app)

    # 初始化连接redis数据库
    global redis_story
    redis_story = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT,
                                    db=2)

    # 利用flask-session,将session数据保存到redis中
    Session(app)  # 修改flask里面的session机制
    # 为flask补充CSRF机制
    CSRFProtect(app)  # 就是flask的钩子函数实现的

    # 注册蓝图
    from .api_v1_0 import api
    app.register_blueprint(api)

    return app
Esempio n. 29
0
def create_app(config_name):
    """
    创建flask的应用对象
    :param config_name:
    """
    app = Flask(__name__)
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 数据库
    db.init_app(app)

    # 初始化redis工具
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST,
                                    port=config_class.REDIS_PORT)

    # 对flask补充csrf防护
    flask_wtf.CSRFProtect(app)

    # 为flask添加自定义的转换器,,
    app.url_map.converters["re"] = ReConverter

    # 注册蓝图
    from show_result.lianjia_spyder import lianjia_api_1_0
    app.register_blueprint(lianjia_api_1_0.api, url_prefix="/api/v1.0/lianjia")

    from show_result.user import user_api_1_0
    app.register_blueprint(user_api_1_0.api, url_prefix="/api/v1.0/user")

    # 注册提供静态文件的蓝图
    from show_result import web_html
    app.register_blueprint(web_html.html)

    return app
Esempio n. 30
0
def create_app(config_name):
    """"工厂函数配置"""

    app = Flask(__name__)
    config_class = config_map.get(config_name)
    app.config.from_object(config_class)

    # 初始化mysql
    db.init_app(app)

    # 初始化redis
    global redis_store
    redis_store = redis.StrictRedis(host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)

    # 将session保存到redis
    Session(app)

    # 启用CSRF机制保护flask程序
    CSRFProtect(app)

    # 注册re转换器
    app.url_map.converters["re"] = ReConvertor

    # 注册蓝图
    from ihome import api_1_0
    app.register_blueprint(api_1_0.api, url_prefix="/api/v1.0")

    # 注册获取静态资源的蓝图
    from ihome import web_html
    app.register_blueprint(web_html.html)

    return app