web-dev-qa-db-ja.com

Python Flask意図的な空の応答

特定のプロパティを使用して(make_response()オブジェクトなどから)応答を返す方法があります。これにより、ページが再度表示されず、他にも何も実行されません。出力を生成せずにサーバーでコードを実行しようとしています

単純な「戻りなし」は以下を生成します。

ValueError: View function did not return a response

以下はファイルをダウンロードするだけで、テンプレートをレンダリングしないため、これが可能になります。

myString = "First line of a document"
response = make_response(myString)
response.headers["Content-Disposition"] = "attachment; filename=myFile.txt"
return response
79
RukTech

リクエスト、HTTPサーバーに応答していますmust return something。 HTTPの「空の応答」応答は204 No Content

return ('', 204)

ファイルをブラウザに返すことはnot空の応答であり、HTML応答とは異なることに注意してください。

141
Martijn Pieters