【发布时间】:2019-01-30 16:08:05
【问题描述】:
背景
我有一个 Flask 应用,其文件夹结构大致如下:
/server
/templates/
/__init__.py
/api.py
/app.py
-
api.py包含使用名为“api”的 Flask 蓝图注册的 Flask 路由。 -
app.py是我想启动 Flask 应用程序时运行的文件。
目标
我想把 api.py 文件拆分成多个文件,这样结构如下:
/server
/api/
/__init__.py
/account.py
/song.py
/app.py
/templates/
问题
但是,当我这样做时,当访问这些新文件中的任何路由时,我会收到“查看函数未返回响应”错误:
[2019-01-30 07:58:32,940] ERROR in app: Exception on /api/app/load/ [GET]
Traceback (most recent call last):
File "C:\Users\Nathan\Documents\rhymecraft\server\venv\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Nathan\Documents\rhymecraft\server\venv\lib\site-packages\flask\app.py", line 1615, in full_dispatch_request
return self.finalize_request(rv)
File "C:\Users\Nathan\Documents\rhymecraft\server\venv\lib\site-packages\flask\app.py", line 1630, in finalize_request
response = self.make_response(rv)
File "C:\Users\Nathan\Documents\rhymecraft\server\venv\lib\site-packages\flask\app.py", line 1725, in make_response
raise ValueError('View function did not return a response')
ValueError: View function did not return a response
问题
如何将 Flask 蓝图拆分为子文件夹中的多个文件?
【问题讨论】:
-
您在哪里注册您的蓝图?引发错误的视图函数是什么?我不确定是否有足够的信息可以按原样回答这个问题
-
@roganjosh re #1 - 蓝图对象在
/api/__init__.py中创建并在app.py中注册。 re: #2 - 这是/api/song.py中的一个视图函数,可以将一首歌曲加载到前端。