文件夹结构
.
├── myapp
│ ├── api
│ │ └── routes.py
│ ├── app.py
│ |
│ └── site
│ └── routes.py
app.py位于api文件夹和site文件夹之外的myapp文件夹中。
api/routes.py
from flask import Blueprint
api = Blueprint('api',__name__,url_prefix='api')
@api.route('/userlist/')
def user():
return { 1: 'user1', 2:'user2'}
site/routes.py
from flask import Blueprint
site = Blueprint('site',__name__)
@site.route('/')
def index():
return 'Welcome to the Home page'
app.py
from flask import Flask
from .site.routes import site
from .api.routes import api
def create_app():
app = Flask(__name__)
app.register_blueprint(api)
app.register_blueprint(site)
return app
当我在终端中使用“flask run”命令运行Flask应用程序时,出现了这个错误。
Traceback (most recent call last):
File "app.py", line 2, in <module>
from .site.routes import site
ImportError: attempted relative import with no known parent package
我不明白如何解决这个问题。 提前感谢您的帮助 :)
app.py
,你的执行脚本,还是有另一个在myapp
文件夹外运行项目的脚本? - sahasrara62app.py
是执行脚本。 - M_xmyapp
中添加一个__init__.py
文件,并在其中写入from . import api, site
,然后在app.py
中将项目导入为from api.routes import api
和from site.route import site
。 - sahasrara62myapp/api/routes.py
文件中的url_prefix='/api'
为url_prefix='api'
而消失了。 - M_x