Python Flask-使用DELETE获得500个错误

Python Flask-使用DELETE获得500个错误,python,flask,Python,Flask,我肯定我遗漏了一些明显的东西,但这里是: @app.route(PREFIX + '/<table>/<int:index>', methods = ['DELETE']) def delete_row(table, index=None): if table not in can_delete: abort(404) try: del database[table][index] except: a

我肯定我遗漏了一些明显的东西,但这里是:

@app.route(PREFIX + '/<table>/<int:index>', methods = ['DELETE'])
def delete_row(table, index=None):
    if table not in can_delete:
        abort(404)
    try:
        del database[table][index]
    except:
        abort(404)
    print('returning')

我的GET处理程序工作正常,而DELETE处理程序工作正常,除了令人讨厌的500错误。问题是我没有返回任何值吗?我的印象是删除应该只返回一个状态,而不是数据。

删除成功时,您不会返回响应。抛出500是因为
None
不是Flask视图的有效返回值

返回,就像字符串一样

对于200响应,您可以返回:

'Success', 200, {'Content-Type': 'text/plain'}
或者可以返回一个,其中为响应主体返回一个空字符串:

'', 204

问题在于,从删除操作返回标准200(OK)响应代码仍然需要一个响应体。您必须返回响应或状态代码204(无内容)。

500上有什么错误?它可以是任何东西。我想返回一个200。删除应该返回状态200和响应正文,或者状态204(无内容)哦。我正在使用的REST应用程序的规格指定为200,没有成功的数据。让我试试返回204。不,“中止(204)”仍然给我500分。数据再次被删除。为什么要使用
del
?只是…为什么?你真的不应该那样做。
'', 204