gpt4 book ai didi

python - Flask flask.cli.NoAppException 与应用工厂

转载 作者:太空宇宙 更新时间:2023-11-04 05:16:54 25 4
gpt4 key购买 nike

我正在尝试将我的配置设置拆分为一个 config.py 文件中的不同类,如记录的那样 here

我已将我的项目分成如下文件夹:

/bloggy
autoapp.py
config.py
/app
__init__.py
models.py
views.py
/static
/templates

我的 config.py 如下所示

import os
basedir = os.path.abspath(os.path.dirname(__file__))


class Config(object):
SECRET_KEY = os.environ.get('SECRET_KEY') or 'secret key'
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')


class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'db.sqlite3')


class TestingConfig(Config):
TESTING = True


config = {
'development': DevelopmentConfig,
'testing': TestingConfig,
'default': DevelopmentConfig
}

我有一个应用程序工厂文件 autoapp.py 用于从所需的环境变量创建我的 Flask 应用程序

import os
from app import create_app
app = create_app(os.getenv('FLASK_CONFIG') or 'default')

我的 app/__init__.py 如下所示:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from config import config

db = SQLAlchemy()


def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
db.init_app(app)
return app

运行后

$ export FLASK_APP=autoapp.py

$ export FLASK_DEBUG=1

并启动服务器:

$ flask 运行

我收到以下错误:

Traceback (most recent call last):
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 178, in __call__
self._flush_bg_loading_exception()
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 166, in _flush_bg_loading_exception
reraise(*exc_info)
File "/home/jwe/.local/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
raise value
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 155, in _load_app
self._load_unlocked()
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 170, in _load_unlocked
self._app = rv = self.loader()
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 231, in load_app
rv = locate_app(self.app_import_path)
File "/home/jwe/.local/lib/python3.5/site-packages/flask/cli.py", line 95, in locate_app
'is .py' % module)
flask.cli.NoAppException: The file/path provided (autoapp) does not appear to exist. Please verify the path is correct. If app is not on PYTHONPATH, ensure the extension is .py

我是否可以让我的应用程序使用 config.py 中列出的设置,或者我应该采用不同的方法吗?

最佳答案

也许添加 flask 应用程序的名称会有所帮助。喜欢以下内容:

app.config.from_object(bloggy.config[config_name])

参见 here在 flask 文档中。

关于python - Flask flask.cli.NoAppException 与应用工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41474520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com