Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: Add response header when using render or render_to_response

How do I add a response header to a Django response? I have:

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

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

# Alternately using render_to_response
# return render_to_response("template.html", {})
like image 294
user984003 Avatar asked Feb 19 '13 11:02

user984003


1 Answers

Assign the result of render to a variable, set the header, then return the response.

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

Most of the time, it is simpler to user render than render_to_response. However, if you are using render_to_response, the same approach will work:

response = render_to_response("template.html", {})
response['Cache-Control'] = 'no-cache'
return response
like image 72
Alasdair Avatar answered Oct 17 '22 06:10

Alasdair