我的文件结构是这样的:
endpoints/
__init__.py
apartments.py
services/
__init__.py
apartment.py
__init__.py
app.py在app.py中
from flask import Flask
from endpoints.apartments import apartments_blueprint
app = Flask(__name__)
app.register_blueprint(apartments_blueprint, url_prefix='/apartments')在apartments.py中:
from flask import Blueprint, request
from services.apartment import ApartmentService
apartments_blueprint = Blueprint('apartments', __name__)
@apartments_blueprint.route('/create', methods=['POST'])
def create():
print(request.data)
ApartmentService.create_apartment('asdf')但是,当我运行此flask run时,它显示:
ImportError: No module named services.apartment
发布于 2018-06-27 11:20:44
服务是从endpoints.apartment导入的相对内容。将前导..添加到导入应该会更正您的错误:
from ..services.apartment import ApartmentService由于Python3要求相对导入是显式的,并且您可能并不总是从包目录执行此操作,因此您还应该在app.py中向导入添加一个前导.
from .endpoints.apartments import apartments_blueprint使其明确,并避免任何额外的问题。
https://stackoverflow.com/questions/51053922
复制相似问题