在 Flask 应用程序中导入模块的问题
Problems in importing modules in flask app
我在导入模块时遇到很多问题。
我文件中的内容如上:
run.py:
from erp import app
if __name__ == '__main__':
app.run(debug=True)
all_blueprints.py:
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from blueprint_finance.all_resources import api_finance
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/test.db"
db = SQLAlchemy(app)
ma = Marshmallow(app)
app.register_blueprint(api_finance)
erp/init.py
from .all_blueprints import app, db, ma
database1.py
from erp import app
class Author(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
我一直收到导入错误,当前错误是
Traceback (most recent call last):
File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/run.py", line 25, in
from erp import app
File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/erp/init.py", line 1, in
from .all_blueprints import app, db, ma
File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/erp/all_blueprints.py", line 12, in
from blueprint_finance.all_resources import api_finance
ModuleNotFoundError: No module named 'blueprint_finance'
如果有人能指出错误,那将是极大的帮助,因为我从昨天开始就迷路了。非常感谢!
我认为您创建蓝图的方式不正确 (See this link for a detailed explanation)。
如果我们参考您构建代码的方式,
erp/
blueprint_finance ---> is your blueprint package
__init__.py ---> is where you create your blueprint
all_blueprints.py ---> is where you register your blueprint
让我们从 erp/blueprint_finance/__init__.py
文件开始:
from flask import Blueprint
bp = Blueprint('blueprint_finance', __name__)
from erp.blueprint_finance import all_resources
from erp.blueprint_finance.finances_resources import resource1
erp/all_blueprints.py
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/test.db"
db = SQLAlchemy(app)
ma = Marshmallow(app)
from erp.blueprint_finance import bp as blueprint_finance_bp
app.register_blueprint(blueprint_finance_bp)
我在导入模块时遇到很多问题。 我文件中的内容如上:
run.py:
from erp import app
if __name__ == '__main__':
app.run(debug=True)
all_blueprints.py:
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from blueprint_finance.all_resources import api_finance
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/test.db"
db = SQLAlchemy(app)
ma = Marshmallow(app)
app.register_blueprint(api_finance)
erp/init.py
from .all_blueprints import app, db, ma
database1.py
from erp import app
class Author(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255))
我一直收到导入错误,当前错误是
Traceback (most recent call last): File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/run.py", line 25, in from erp import app File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/erp/init.py", line 1, in from .all_blueprints import app, db, ma File "/home/arsalan/python_practise/MY_WORK_FILES/React_works/React_Container_Mount/backend/erp/all_blueprints.py", line 12, in from blueprint_finance.all_resources import api_finance ModuleNotFoundError: No module named 'blueprint_finance'
如果有人能指出错误,那将是极大的帮助,因为我从昨天开始就迷路了。非常感谢!
我认为您创建蓝图的方式不正确 (See this link for a detailed explanation)。
如果我们参考您构建代码的方式,
erp/
blueprint_finance ---> is your blueprint package
__init__.py ---> is where you create your blueprint
all_blueprints.py ---> is where you register your blueprint
让我们从 erp/blueprint_finance/__init__.py
文件开始:
from flask import Blueprint
bp = Blueprint('blueprint_finance', __name__)
from erp.blueprint_finance import all_resources
from erp.blueprint_finance.finances_resources import resource1
erp/all_blueprints.py
from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/test.db"
db = SQLAlchemy(app)
ma = Marshmallow(app)
from erp.blueprint_finance import bp as blueprint_finance_bp
app.register_blueprint(blueprint_finance_bp)