python - 如何在 Flask 中禁用缓存?在发送到服务器的第二个 POST 请求期间出现 500 服务器错误,而第一个请求是 200 OK
python - how to disable cache in Flask? Getting 500 server error during second POST request sent to server while first request was 200 OK
我 'think' 我有一些缓存问题。
我的网络服务正在通过 POST 请求接收数据并将其保存到磁盘。
以下是我的代码:
@app.route('/ws_part' , methods=['POST'])
def ws_part():
request_data = request.get_json()
#placeholder for workstation number and part number
received_data ={'ws_no':request_data['workstation'],
'part_no':request_data['part']}
#Checking if workstation number is already available
global updated
updated = 'no'
for i in repository:
if i['ws'] == received_data['ws']:
i['part'] = received_data['part']
updated = 'yes'
if(updated!='yes'):
new_input = received_data
repository.append(new_input)
return jsonify({'repository': repository})
我面临的问题:
1.The 第一个请求成功通过并给出 200 OK 响应和工作站编号以及请求随附的部分保存在 'repository' 占位符中。
2.But 下一个请求抛出 500 服务器错误
错误:
文件 "API_ws_par.py",第 23 行,在 ws_part 中
如果我['ws'] == received_data['ws']:
键错误:'ws'
3.Funny 发生的事情是:
如果此时我重新启动我的网络服务并再次触发 POST 请求,这个新请求附带的数据将被覆盖,我将丢失之前保存的数据。
4.Also,随后的第二个 POST 请求抛出相同的 500 服务器错误
请问是不是缓存问题?
如果是,请告诉我该怎么做?
提前致谢。
这不是缓存的问题,是函数逻辑的问题,
在第一次调用时,您可能没有找到生成异常的代码行,
问题出在第二次调用上,键名不是 'ws',而是 'ws_no',
如果您更改这些行:
for i in repository:
if i['ws'] == received_data['ws_no']:
i['part'] = received_data['part_no']
updated = 'yes'
使用'ws_no','part_no'不会出现密钥错误。
我 'think' 我有一些缓存问题。 我的网络服务正在通过 POST 请求接收数据并将其保存到磁盘。
以下是我的代码:
@app.route('/ws_part' , methods=['POST'])
def ws_part():
request_data = request.get_json()
#placeholder for workstation number and part number
received_data ={'ws_no':request_data['workstation'],
'part_no':request_data['part']}
#Checking if workstation number is already available
global updated
updated = 'no'
for i in repository:
if i['ws'] == received_data['ws']:
i['part'] = received_data['part']
updated = 'yes'
if(updated!='yes'):
new_input = received_data
repository.append(new_input)
return jsonify({'repository': repository})
我面临的问题: 1.The 第一个请求成功通过并给出 200 OK 响应和工作站编号以及请求随附的部分保存在 'repository' 占位符中。 2.But 下一个请求抛出 500 服务器错误
错误: 文件 "API_ws_par.py",第 23 行,在 ws_part 中 如果我['ws'] == received_data['ws']: 键错误:'ws'
3.Funny 发生的事情是: 如果此时我重新启动我的网络服务并再次触发 POST 请求,这个新请求附带的数据将被覆盖,我将丢失之前保存的数据。 4.Also,随后的第二个 POST 请求抛出相同的 500 服务器错误
请问是不是缓存问题? 如果是,请告诉我该怎么做?
提前致谢。
这不是缓存的问题,是函数逻辑的问题, 在第一次调用时,您可能没有找到生成异常的代码行, 问题出在第二次调用上,键名不是 'ws',而是 'ws_no', 如果您更改这些行:
for i in repository:
if i['ws'] == received_data['ws_no']:
i['part'] = received_data['part_no']
updated = 'yes'
使用'ws_no','part_no'不会出现密钥错误。