Flask 烧瓶-尝试在非包装中进行相对导入
关于如何构造一个Flask 烧瓶-尝试在非包装中进行相对导入,flask,importerror,Flask,Importerror,关于如何构造一个Flask应用程序,我有: project/ __init__.py app.py models/ __init__.py base.py base.py from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() from .base import db def init_app(app): db.init_app
Flask
应用程序,我有:
project/
__init__.py
app.py
models/
__init__.py
base.py
base.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from .base import db
def init_app(app):
db.init_app(app)
from flask import Flask
def create_app()
from . import models, routes, services
app = Flask(__name__)
models.init_app(app)
# routes.init_app(app)
# services.init_app(app)
return app
型号/\uuuuu初始化.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from .base import db
def init_app(app):
db.init_app(app)
from flask import Flask
def create_app()
from . import models, routes, services
app = Flask(__name__)
models.init_app(app)
# routes.init_app(app)
# services.init_app(app)
return app
project/\uuuuu init\uuuuu.py
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from .base import db
def init_app(app):
db.init_app(app)
from flask import Flask
def create_app()
from . import models, routes, services
app = Flask(__name__)
models.init_app(app)
# routes.init_app(app)
# services.init_app(app)
return app
最后,在app.py中,我尝试运行它:
from . import create_app
app = create_app()
if __name__ == '__main__':
app.run(use_reloader=True, threaded=True, debug=True)
但我得到了一个错误:
from . import create_app
ValueError: Attempted relative import in non-package
我做的对吗?我做错了什么?我想你是通过以下方式运行你的程序的:
python project/app.py
在本例中,您不能将“项目”视为python包,这将导致出现错误。相反,您可以通过以下方式运行项目:
FLASK_APP=project.app flask run
可能重复的