我正在构建一个Flask应用程序,以下工作可根据用户输入从json文件动态加载数据:
getJSON($SCRIPT_ROOT + '/static/json_files/' + specialSelected[i], function(data) {....}
specialSelected [i]的格式为* .json,并在该位置加载json_file。我的应用程序结构非常简单。
web/
app.py
static/
json_files/
...
...
templates/
graphs.html (with the getJSON($SCRIPT_ROOT...)
(并执行“ FLASK_APP = app.py flask在Web目录中运行)。到目前为止,一切都很好。
现在,我一直在扩展应用程序,并决定使用蓝图。应用程序结构也随之发展:
web/
web.py
app/
__init__.py
data_viz/
__init__.py
graphs.py
static/
json_files/
...
...
templates/
graphs.html (with the getJSON($SCRIPT_ROOT...)
...
(并且现在执行“ FLASK_APP = web.py flask在Web目录中运行)。因此,这些json文件现在来自应用程序在
中的根目录'/app/data_viz/static/json_files/'
但是,如果我将graphs.html中的代码更改为
getJSON($SCRIPT_ROOT + '/app/data_viz/static/json_files/' + specialSelected[i], function(data) {....}
它不起作用。 (GET给出404而不是200)。我想念什么?
编辑:研究其他正确的200个代码后,我尝试了以下操作:
getJSON($SCRIPT_ROOT + '/data_viz/static/json_files/' + specialSelected[i], function(data) {....}
因此没有/ app。因此,脚本根目录不是最高目录,而是具有第一个 init .py的应用程序目录。我仍然想知道为什么吗?因为我运行了web.py