I'm working on a Shopify app using Django, which I am hosting on a VPS with nginx and gunicorn.
I am trying to change the Content-Type of an HttpResponse object to application/liquid
, so that I can use Shopify's application proxy feature, but it doesn't appear to be working.
Here is what I believe to be the relevant section of my code:
from django.shortcuts import render_to_response, render
from django.http import HttpResponse
from django.template import RequestContext
import shopify
from shopify_app.decorators import shop_login_required
def featured(request):
response = HttpResponse()
response['content_type'] = 'application/liquid; charset=utf-8'
response['content'] = '<html>test123</html>'
response['Content-Length'] = len(response.content)
return response
According to the Django docs, I should set response[''content_type]
in order to set Content-Type
in the header. Unfortunately, when I go to the URL corresponding to this function in views.py, I get a 200 response but the Content-Type has not changed and Content-Length is 0. Here are my response headers:
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 09 Jul 2013 12:26:59 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 0
Connection: keep-alive
X-Request-Id: 2170c81fb16d18fc9dc056780c6d92fd
content: <html>test123</html>
vary: Cookie
content_type: application/liquid; charset=utf-8
P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
If I change response['content_type']
to response['Content-Type']
, I get the following headers:
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 09 Jul 2013 12:34:09 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 3097
Connection: keep-alive
X-Request-Id: 76e67e04b753294a3c37c5c160b42bcb
vary: Accept-Encoding
status: 200 OK
x-shopid: 2217942
x-request-id: 6e63ef3a27091c73a9e3fdaa03cc28cb
x-ua-compatible: IE=Edge,chrome=1
p3p: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
content-encoding: gzip
P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
Any ideas on how I can change the Content-Type of the response? Might this be a problem with my nginx or gunicorn configurations?
Thanks for your help!