summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-08-11 09:37:42 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2007-08-11 09:37:42 +0000
commit0afbca9c60206d5005243cb961ff813f2cd6dbf3 (patch)
tree3d9be4ec8ed50da5aae08b6f89bc5a396904e69c
parent6fd2c25addcf49f989ced81060b40533d9f6e9ed (diff)
Fixed #3526 -- Added content_type as an alias for mimetype to the HttpResponse constructor. It's a slightly more accurate name. Based on a patch from Simon Willison. Fully backwards compatible.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5844 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/http/__init__.py12
-rw-r--r--docs/request_response.txt14
2 files changed, 21 insertions, 5 deletions
diff --git a/django/http/__init__.py b/django/http/__init__.py
index bcb06cbb87..fe3b989663 100644
--- a/django/http/__init__.py
+++ b/django/http/__init__.py
@@ -212,18 +212,22 @@ class HttpResponse(object):
status_code = 200
- def __init__(self, content='', mimetype=None, status=None):
+ def __init__(self, content='', mimetype=None, status=None,
+ content_type=None):
from django.conf import settings
self._charset = settings.DEFAULT_CHARSET
- if not mimetype:
- mimetype = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE, settings.DEFAULT_CHARSET)
+ if mimetype:
+ content_type = mimetype # For backwards compatibility
+ if not content_type:
+ content_type = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE,
+ settings.DEFAULT_CHARSET)
if not isinstance(content, basestring) and hasattr(content, '__iter__'):
self._container = content
self._is_string = False
else:
self._container = [content]
self._is_string = True
- self.headers = {'Content-Type': mimetype}
+ self.headers = {'Content-Type': content_type}
self.cookies = SimpleCookie()
if status:
self.status_code = status
diff --git a/docs/request_response.txt b/docs/request_response.txt
index a17a60ff17..826065981b 100644
--- a/docs/request_response.txt
+++ b/docs/request_response.txt
@@ -342,7 +342,7 @@ hard-coded strings. If you use this technique, follow these guidelines:
Methods
-------
-``__init__(content='', mimetype=DEFAULT_CONTENT_TYPE)``
+``__init__(content='', mimetype=None, status=200, content_type=DEFAULT_CONTENT_TYPE)``
Instantiates an ``HttpResponse`` object with the given page content (a
string) and MIME type. The ``DEFAULT_CONTENT_TYPE`` is ``'text/html'``.
@@ -350,6 +350,16 @@ Methods
return strings, and those strings will be joined together to form the
content of the response.
+ ``status`` is the `HTTP Status code`_ for the response.
+
+ **(New in Django development version)** ``content_type`` is an alias for
+ ``mimetype``. Historically, the parameter was only called ``mimetype``,
+ but since this is actually the value included in the HTTP ``Content-Type``
+ header, it can also include the character set encoding, which makes it
+ more than just a MIME type specification. If ``mimetype`` is specifiedi
+ (not None), that value is used. Otherwise, ``content_type`` is used. If
+ neither is given, the ``DEFAULT_CONTENT_TYPE`` setting is used.
+
``__setitem__(header, value)``
Sets the given header name to the given value. Both ``header`` and
``value`` should be strings.
@@ -396,6 +406,8 @@ Methods
``write(content)``, ``flush()`` and ``tell()``
These methods make an ``HttpResponse`` instance a file-like object.
+.. _HTTP Status code: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10
+
HttpResponse subclasses
-----------------------