web-dev-qa-db-ja.com

Django:renderまたはrender_to_responseの使用時に応答ヘッダーを追加する

Django応答に応答ヘッダーを追加するにはどうすればよいですか?

response = HttpResponse()
response['Cache-Control'] = 'no-cache'

return render(request, "template.html", {}) 

# Alternately using render_to_response
# return render_to_response("template.html", {})
26
user984003

renderの結果を変数に割り当て、ヘッダーを設定して、応答を返します。

response = render(request, "template.html", {})
response['Cache-Control'] = 'no-cache'
return response

ほとんどの場合、render_to_responseよりもrenderを使用する方が簡単です。ただし、render_to_responseを使用している場合、同じアプローチが機能します。

response = render_to_response("template.html", {})
response['Cache-Control'] = 'no-cache'
return response
39
Alasdair