python - FlaskApp 没有属性 'config'

标签 python flask sqlalchemy swagger flask-sqlalchemy

全部。我使用 Flask、SQLAlchemy 和 connexion 编写项目。在 connexion 实现之前,所有工作都成功(ps 当应用程序创建为 app = Flask(__name__) 时。实现 connexion 后引发异常:'SQLALCHEMY_DATABASE_URI' not in app.config and AttributeError: 'FlaskApp' object has no attribute 'config' .那么错误在哪里呢?请帮忙。

运行.py:

from app import create_app
app = create_app('development')
if __name__ == '__main__':
    app.run()

应用程序:
...
from settings import app_config
db = SQLAlchemy()
def create_app(config_name):
    # app = Flask(__name__)
    app = connexion.App(__name__)
    app.add_api('swagger.yml')
    application = app.app
    application.config.from_object(app_config[config_name])
    application.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    db.init_app(app)
    return app

设置.py
class BaseConfig(object):
    DEBUG = False
    CSRF_ENABLED = True
    SECRET = os.getenv('SECRET', 'default_secret_key')
    DEFAULT_URI = 'postgresql://shooter:shooter@localhost/shooterstats'
    SQLALCHEMY_DATABASE_URI = DEFAULT_URI

class DevelopmentConfig(BaseConfig):
    DEBUG = True

最佳答案

这里有一个错误 db.init_app(app) .我将其更改为 db.init_app(application) 并且它现在工作成功。

关于python - FlaskApp 没有属性 'config',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52246915/

相关文章:

python - Flask sqlalchemy - 仅使用实体 ID 插入多对多

python - Flask 应用程序偶尔会挂起

python - 在使用 SQLAlchemy 进行单元测试期间防止接触数据库

python - Protobuf 生成的 Python 包内部的隐式相对导入使得从外部导入变得不可能

python - 运行 flask 服务器

mysql - create_engine 问题 mysql 5.7 和 sqlalchemy

python - 带有包含列表的 kwargs 的 SqlAlchemy filter_by

python - 使用新格式语法打印 { 和 }

python - 使用 boto3 清空 s3 存储桶的最快方法是什么?

python - 集成 python-social-auth (social-app-django) 以与 Django 管理一起使用