Python flask--根据访问路由的方式更改行为
假设我有一条路线。如果它是由用户访问的,我只想给他们一个静态json。但是,如果我的脚本调用了它,我希望能够说执行一组不同的指令。即,生成json 例如,类似这样的东西(非常伪代码)Python flask--根据访问路由的方式更改行为,python,python-2.7,flask,Python,Python 2.7,Flask,假设我有一条路线。如果它是由用户访问的,我只想给他们一个静态json。但是,如果我的脚本调用了它,我希望能够说执行一组不同的指令。即,生成json 例如,类似这样的东西(非常伪代码) 这怎么可能呢?一些涉及\uuuu文件\uuuuu或类似内容的事情?听起来你想把路线分开。如果你在做不同的事情,为什么要把它们都放在一个函数中呢?Martijn是这么说的。如果您有两个用例,请将它们分开。如果您想更改答案的形式,即将HTML返回给用户,将JSON返回给脚本,标准方法是使用Accept标头: @app.
这怎么可能呢?一些涉及
\uuuu文件\uuuuu
或类似内容的事情?听起来你想把路线分开。如果你在做不同的事情,为什么要把它们都放在一个函数中呢?Martijn是这么说的。如果您有两个用例,请将它们分开。如果您想更改答案的形式,即将HTML返回给用户,将JSON返回给脚本,标准方法是使用Accept标头:
@app.route('/make_chart')
def make_chart():
if #accessed by a user and not a script#:
with open(app.config['JSON_PATH'], 'r') as j:
return j
elif #if my script is to call it using the route list#:
dm = DataModel(app.config['CSV_PATH'])
new_data = dm.do_some_stuff
with open('some_name', 'w') as json_file:
json.dump(new_data, json_file)
return 200