Beispiel #1
0
 def setUp(self):
     db.create_all()
     user1 = User(name='user1', email='*****@*****.**', is_admin=True)
     user1.password = hashlib.md5('pass1').hexdigest()
     db.session.add(user1)
     db.session.commit()
     self.token = user1.generate_auth_token()
     self.client = current_app.test_client()
     self.auth_header = {'token': self.token}
Beispiel #2
0
def create_app():
    """
    初始化app
    :return:
    """
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    db.init_app(app)
    with app.app_context():
        db.create_all()

    register_blueprint(app)
    return app
Beispiel #3
0
def create_app():
    '''
    系统配置与蓝图需要绑定app
    :return:
    '''
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)

    db.init_app(app)
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或者注册'

    mail.init_app(app)
    with app.app_context():
        db.create_all()
    return app
Beispiel #4
0
def create_app():
    app = Flask(__name__)#实例化Flask核心对象
    
    #读取配置文件
    app.config.from_object('app.secure_config')
    app.config.from_object('app.setting_config')
    
    register_blueprint(app) #蓝图注册
    
    #数据库的初始化
    db.init_app(app)
    
    #loginManger的初始化
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'
    
    db.create_all(app=app)
    return app
Beispiel #5
0
def create_app():
    app = Flask(__name__)
    # 导入配置
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    # 调用蓝图
    register_blueprint(app)

    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    mail.init_app(app)

    # init_app并没有使用self.app保存app
    db.init_app(app)
    # 故需要重新传入
    db.create_all(app=app)
    return app
Beispiel #6
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)

    db.init_app(app)
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登陆或注册'
    mail.init_app(app)
    # db.init_app 方法没有保存核心对象 只作临时参数 所以create_all()方法还要传入核心对象
    # 或者 让create_all 自己寻找current_app 传入
    # with app.app_context():
    #   db.create_all()
    # 或者 一开始在model中实例化db = SQLAlchemy() 时 把app 作为属性 参数传入 但是不同模块导入app实例太过麻烦
    db.create_all(app=app)

    return app
Beispiel #7
0
def register_plugin(app):
    # 解决跨域问题
    from flask_cors import CORS
    cors = CORS()
    cors.init_app(app, resources={"/*": {"origins": "*"}})

    # 连接数据库
    from app.models.base import db
    db.init_app(app)
    with app.app_context():  # 手动将app推入栈
        db.create_all()  # 首次模型映射(ORM ==> SQL),若无则建表; 初始化使用

    # Debug模式下可以查阅 API文档
    if app.config['DEBUG']:
        from flasgger import Swagger
        from app.api.v1 import template
        swagger = Swagger(
            template=template)  # 可以将secure.py中的SWAGGER全部写入template
        swagger.init_app(app)
Beispiel #8
0
def create_app():
    app = Flask(__name__)  #决定了根目录是app,而不是fisher,可以指定static_folder,static_url

    # 蓝图 blueprint来实现分文件功能 app->蓝图->视图函数 wen是一个蓝图

    # 载入配置文件, 配置文件规定只能写大写, DEBUG是模块中的默认值 为false, 如果有小写的,就会出错
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)
    db.init_app(app)
    #以下是两种方法,第三种方法是在初始化db时传入app
    # with app.app_context():
    #     db.create_all()
    loginmanager.init_app(app)
    loginmanager.login_view = 'web.login'  #致命登陆的视图函数,需要登陆时自动跳转
    loginmanager.login_message = '请先登录或注册'
    mail.init_app(app)
    with app.app_context():
        db.create_all(app=app)
    return app
def create_app():
    """
    创建flask核心对象app
    :return:
    """
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    register_blueprint(app)

    db.init_app(app)

    login_manager.init_app(app)
    login_manager.login_view = 'auth.login'
    login_manager.login_message = "请先登录或注册"

    with app.app_context():
        db.create_all()
    return app
Beispiel #10
0
def register_plugin(app):
    from app.models.base import db
    from flask_migrate import Migrate
    from app.libs.extensions import cache

    # from flask_debugtoolbar import DebugToolbarExtension
    from flask_apscheduler import APScheduler

    db.init_app(app)
    migrate = Migrate()
    migrate.init_app(app=app, db=db)
    cache.init_app(app)
    # toolbar = DebugToolbarExtension()
    # toolbar.init_app(app)
    # scheduler = APScheduler()
    # scheduler.init_app(app)
    # scheduler_add_job(scheduler) # 添加定时任务
    # scheduler.start()
    with app.app_context():
        db.create_all()
Beispiel #11
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)

    db.init_app(app)
    # init login_manager
    login_manager.init_app(app)
    # define login view_function from end_point
    login_manager.login_view = 'web.login'
    login_manager.login_message = 'please login in or sign up'

    # init mail
    mail.init_app(app)

    # db.create_all(app=app)
    # another way:
    with app.app_context():
        db.create_all()
    return app
Beispiel #12
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    register_blueprint(app)

    # 将sql alchemy对象注册到APP实例上
    db.init_app(app=app)
    with app.app_context():
        db.create_all()

    # 将LoginManager注册到APP实例上
    login_manager.init_app(app=app)
    # 指定登录页面(在未登录时打开需要登录的页面,会自动跳转到该页面)
    login_manager.login_view = 'web.login'
    # 指定跳转到登录页面时flash的消息内容
    login_manager.login_message = '请先登录或注册'

    mail.init_app(app=app)
    return app
Beispiel #13
0
def create_app():
    app = Flask(__name__)

    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)

    db.init_app(app)
    db.create_all(app=app)

    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = "请先登录或注册"

    @login_manager.user_loader
    def load_user(user_id):
        from app.models.user import User
        user = db.session.query(User).get(user_id)
        return user

    return app
Beispiel #14
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.setting')
    app.config.from_object('app.secure')
    # 注册蓝图
    from app.web import web
    app.register_blueprint(web)

    # 注册login_manager
    login_manager.init_app(app)

    # 注册SQLAlchemy
    from app.models.base import db
    db.init_app(app)
    # db.drop_all(app=app)
    db.create_all(app=app)

    # 注册邮件插件
    mail.init_app(app)

    return app
Beispiel #15
0
def create_app():
    app = flask.Flask(__name__)
    app.config.from_object('app.setting')
    app.config.from_object('app.secure')

    # 注册蓝图
    register_blueprint(app)

    # 初始化flask_login
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    # 初始化邮件系统
    mail.init_app(app=app)

    # 初始化数据库
    db.init_app(app)
    # db.drop_all(app=app)
    db.create_all(app=app)
    return app
Beispiel #16
0
def create_app():
    app = Flask(__name__, template_folder='templates', static_folder='static')
    app.config.from_object('app.setting')
    app.config.from_object('app.secure')
    #注册模块蓝图
    register_web_blueprint(app)

    #注册数据库

    db.init_app(app)
    db.create_all(app=app)

    #初始化login
    login_manager.init_app(app)
    #初始化登入野页面
    login_manager.login_view = 'web.login'
    login_manager.login_message_category = 'warning'
    login_manager.login_message = u'请先登入!'

    ckeditor.init_app(app)

    return app
Beispiel #17
0
def create_app():
    app = Flask(__name__)
    app.config.from_object("app.secure")
    app.config.from_object("app.settings")
    # 注册蓝图
    register_blueprint(app)

    # 注册SQLAlchemy
    db.init_app(app)
    # 创建所有表
    with app.app_context():
        db.create_all()

    # 注册LoginManager
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    # 注册Mail
    mail.init_app(app)

    return app
Beispiel #18
0
def creat_app():
    """创建 app"""
    app = Flask(__name__)
    # 配置文件相关
    app.config.from_object("app.secure")
    app.config.from_object("app.setting")
    # 注册蓝图
    register_blueprint(app)
    # 注册SQLAlchemy
    db.init_app(app)
    # 创建数据表
    with app.app_context():
        db.create_all()

    # 登陆相关
    login_manager.init_app(app)
    login_manager.login_view = "web.login"
    login_manager.login_message = "请先登录或注册"
    # 邮件相关
    mail.init_app(app)

    return app
Beispiel #19
0
def create_app():
    app = Flask(__name__, static_url_path='/static')
    # print(__name__)    应用的根路径:app, 静态文件路径从此开始
    # 导入配置文件
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    # 给app 注册蓝图
    register_blueprint(app)


    # 注册登录管理器
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录'

    # Models
    db.init_app(app)
    # 使current_app生效:将应用上下文入栈
    with app.app_context():
        # db.drop_all()
        db.create_all()
    return app
Beispiel #20
0
def create_app():
    app = Flask(__name__, template_folder='templates')
    app.config.from_object('app.config.secure')
    app.config.from_object('app.config.setting')
    register_blueprint(app)

    init_loginmanager_app(app)

    # 初始化mail插件
    mail.init_app(app)

    # 创建所有数据库映射
    db.init_app(app)

    # 防止create_all异常的三种方法:
    # 一: app= 传入创建的app对象
    #    db.create_all(app=app)
    # 二: 使用上下文管理器将当前app对象推入栈顶
    with app.app_context():
        db.create_all()
    # 三: 在使用SQLAlchemy()实例化SQLAlchemy对象时传入app关键词参数
    return app
Beispiel #21
0
def creat_app():
    app = Flask(__name__)
    app.config.from_object('app.source')  # 引入config.py配置文件
    app.config.from_object('app.setting')
    # 调用下面的 def registe_blueprint(app)函数注册app
    # 实际上执行这句代码   web = blueprints.Blueprint('web',__name__)
    #得到一个蓝图对象
    registe_blueprint(app)

    login_manager.init_app(app)  #注册login_manager
    login_manager.login_view = 'web.login'  #不会报没有权限的错误,而是直接跳转到登录页面
    login_manager.login_message = '请先登录或注册'  #跳转登录页面后的提示信息

    with app.app_context():  #这三行跟下面注释的两行效果一样
        db.init_app(app)
        db.create_all()
    # db.init_app(app)
    # db.create_all(app=app)

    cache.init_app(app)
    mail.init_app(app)
    return app
Beispiel #22
0
def create_app():
    app = Flask(__name__)
    app.config.from_object("app.secure")
    app.config.from_object("app.setting")

    register_blueprint(app)  # 调用蓝图注册函数

    db.init_app(app)
    # 写法一:传入关键字参数
    # db.create_all(app=app)
    # 写法二:with语句 + 上下文管理器
    with app.app_context():
        db.create_all()

    login_manager.init_app(app)  # 初始化 login_manager
    login_manager.login_view = "web.login"
    login_manager.login_message = "请先登录或注册"

    mail.init_app(app)

    # create_db_table()  # 创建数据表
    return app
Beispiel #23
0
def create_app():
    app = Flask(__name__)

    # 读取配置文件
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    # 注册蓝图
    register_blueprint(app)

    # 注册 SQLAlchemy 模块
    db.init_app(app)
    db.create_all(app=app)

    # 注册 Login 模块
    login_manger.init_app(app)
    login_manger.login_view = 'web.login'
    login_manger.login_message = '请先登录或注册'

    # 注册 Mail 模块
    mail.init_app(app)

    return app
Beispiel #24
0
def create_app():
    app = Flask(__name__)
    # bootstrap = Bootstrap(app)
    # moment = Moment(app)
    app.config.from_object("app.config")
    app.config.from_object("app.secure")
    register_blueprint(app)  # 加载蓝图
    # 插件管理
    # Bootstrap(app)
    bootstrap.init_app(app)
    moment.init_app(app)
    # bootstrap = Bootstrap(app)
    pagedown.init_app(app)
    mail.init_app(app)

    db.init_app(app)
    # 初始化登陆管理插件
    login_manger.init_app(app)
    login_manger.login_view = 'web.login'
    login_manger.login_message = '请先登录或注册'
    with app.app_context():  # 核心对象入栈
        db.create_all()
    return app
Beispiel #25
0
def create_app():
    app = Flask(__name__)
    #     app = Flask(__name__, static_folder='view_models/statics')在这里可以设置默认的静态文件夹的位置,在这里同样也可以指定模板文件夹
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)  # 注册蓝图

    # 使用应用上下文注入app
    db.init_app(app)

    # 初始化LoginManager
    login_manager.init_app(app)  # 用户登录及权限插件
    login_manager.login_view = 'web.login'  # 如果用户权限不足,将会跳转到登录页面
    login_manager.login_message = '请先登录或注册'

    mail.init_app(app)  # 注册flask-mail组件

    with app.app_context():
        db.create_all()
#     db.init_app(app)# 注册SQAlchemy
#     db.create_all(app=app)# 生成数据表

    return app
Beispiel #26
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.setting')
    app.config.from_object('app.secure')
    register_blueprint(app)

    db.init_app(app)
    login_manager.init_app(app)

    login_manager.login_view = 'web.login'  # login_required验证用户没登录时引导用户到登录页面
    login_manager.login_message = '请先登录或注册'  # 替换引导到登录界面的提示信息

    mail.init_app(app)

    # db.create_all()
    # 上面这样写会报错: RuntimeError: No application found.
    # Either work inside a view function or push an application
    # 方案一: 将app核心对象作为关键字参数传入 db.create_all(app=app)

    with app.app_context():
        db.create_all()

    return app
Beispiel #27
0
def create_app():
    # 实例化核心对象
    app = Flask(__name__)
    # 这里的__name__决定了应用程序的根目录
    # print(__name__)
    # 从配置文件载入配置
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    # 调用注册函数
    register_blueprint(app)
    # 关联模型层到核心对象
    db.init_app(app)
    # 把数据模型映射到数据库里去
    db.create_all(app=app)
    # 关联登录管理器到核心对象
    login_manager.init_app(app)
    # 自动跳转到登陆页面
    login_manager.login_view = 'web.login'
    # 自定义未登录提示
    login_manager.login_message = '请先注册登陆'
    # 注册email插件
    mail.init_app(app)
    return app
Beispiel #28
0
def create_app():
    '''
    初始化核心对象,包含初始化要做的所有操作
    :return:app核心对象
    '''

    app = Flask(__name__)

    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    register_blueprint(app)

    db.init_app(app)
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    mail.init_app(app)

    db.create_all(app=app)

    return app
Beispiel #29
0
def create_app():
    app = Flask(__name__)
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_web_blueprint(app)

    # 注册SQLAlchemy
    db.init_app(app)

    # 注册email模块
    mail.init_app(app)

    # 注册login模块
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登录或注册'

    # 注册flask-cache模块
    # cache.init_app(app)

    with app.app_context():
        db.create_all()

    return app
Beispiel #30
0
def create_app():
    """
    创建app(flask核心对象)对象
    :return:app
    """
    app = Flask(__name__)

    # 加载配置文件,配置文件在当前目录下config.py
    # 注意:app.config['DEBUG']其中的 DEBUG 必须为大写,因为from_object这种形式加载config必须名称为大写,不然会自己过滤掉
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')
    register_blueprint(app)
    # 将sqlalchemy db的对象和app进行挂钩 sqlalchemy db -> app
    # 读取建立数据库连接
    db.init_app(app)
    # 用户登录空间
    login_manager.init_app(app)
    # 如果页面需要登录后访问,那么没有登录的情况下 自动跳转到 endpint = web.register 注册页面
    login_manager.login_view = "web.login"
    # 跳转到注册页提示的Flash 闪现消息指定
    login_manager.login_message = "请先登录!"
    # create_all创建数据模型 到mysql
    db.create_all(app=app)
    return app
Beispiel #31
0
def create_app():
    # __name__ 指的是 app 而不是 fishbook,所以 app 才是应用程序的根目录
    app = Flask(__name__, static_folder='static')
    # app.config.from_object('config')
    app.config.from_object('app.secure')
    app.config.from_object('app.setting')

    register_blueprint(app)

    # app 和登陆插件 flash-login 关联
    login_manager.init_app(app)
    login_manager.login_view = 'web.login'
    login_manager.login_message = '请先登陆或注册'

    mail.init_app(app)

    # app 和 sql alchemy 关联
    db.init_app(app)
    # 根据模型创建数据库表
    # db.create_all(app=app)
    with app.app_context():
        db.create_all()

    return app
Beispiel #32
0
def register_plugin(app):
	from app.models.base import db
	db.init_app(app)
	with app.app_context():
		db.create_all()