diff options
| author | Òscar Vilaplana | 2013-05-19 01:59:19 -0700 |
|---|---|---|
| committer | Òscar Vilaplana | 2013-05-19 01:59:19 -0700 |
| commit | 42b61ffcd7dd5091846d884cba34f3a82dcf81f4 (patch) | |
| tree | b33a515f024a93051424318b2c6d1a291fee5198 /rest_framework/response.py | |
| parent | fecadacab150aab48b8b84f4f0e5340ead74c287 (diff) | |
| parent | c0f3a1c397a564ee78b3a656f14f7ff46b0d2b31 (diff) | |
| download | django-rest-framework-42b61ffcd7dd5091846d884cba34f3a82dcf81f4.tar.bz2 | |
Merge pull request #1 from nschlemm/issue-192-expose-fields-for-options
Merged work in progress for Issue 192 expose fields for options
Diffstat (limited to 'rest_framework/response.py')
| -rw-r--r-- | rest_framework/response.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/rest_framework/response.py b/rest_framework/response.py index 26e4ab37..32e74a45 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -18,7 +18,7 @@ class Response(SimpleTemplateResponse): def __init__(self, data=None, status=200, template_name=None, headers=None, - exception=False): + exception=False, charset=None): """ Alters the init arguments slightly. For example, drop 'template_name', and instead use 'data'. @@ -30,6 +30,7 @@ class Response(SimpleTemplateResponse): self.data = data self.template_name = template_name self.exception = exception + self.charset = charset if headers: for name, value in six.iteritems(headers): @@ -46,7 +47,14 @@ class Response(SimpleTemplateResponse): assert context, ".renderer_context not set on Response" context['response'] = self - self['Content-Type'] = media_type + if self.charset is None: + self.charset = renderer.charset + + if self.charset is not None: + content_type = "{0}; charset={1}".format(media_type, self.charset) + else: + content_type = media_type + self['Content-Type'] = content_type return renderer.render(self.data, media_type, context) @property |
