瓶flask.cli.no异常使用app factory

2024-05-15 09:35:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将我的配置设置拆分为配置.py文件,here

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

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

我的config.py如下所示

^{pr2}$

我有一个应用程序工厂文件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 run

我得到以下错误:

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中的设置,或者我应该采取不同的方法?在


Tags: inpyimportconfigappflaskhomecli