Commit Graph

47 Commits

Author SHA1 Message Date
Jameel Al-Aziz
15c613a9eb
Allow generic requests, responses, fields, views (#8825)
Allow Request, Response, Field, and GenericAPIView to be subscriptable.
This allows the classes to be made generic for type checking.

This is especially useful since monkey patching DRF can be problematic
as seen in this [issue][1].

[1]: https://github.com/typeddjango/djangorestframework-stubs/issues/299
2023-02-22 21:39:01 +06:00
Jon Dufresne
b37aa284eb Remove unnecessary bytes() calls (#6626) 2019-05-30 15:05:27 -07:00
Carlton Gibson
0407a0df8a
Dropped Python 2 compatibility. (#6615)
Thanks to Jon Dufresne (@jdufresne) for review.

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Rizwan Mansuri <Rizwan@webbyfox.com>
2019-04-30 17:53:44 +02:00
Tom Christie
5ea810d526 Drop unnecessary TODO notes. 2017-09-14 09:44:59 +01:00
Ollie Ford
fe96ceced0 fixes response rendering with empty context (#4495)
This commit allows `response.render` to be called when
`response.rendered_context == {}`. This should be allowed, since
if [the JSONRenderer, for example](https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/renderers.py#L85-L92) receives a `None` context, it
sets it to an empty dictionary itself.
2016-09-17 03:13:34 +01:00
Tom Christie
351e0a4a99 Fix json indent parameter. Closes #4281 (#4313) 2016-07-27 11:49:01 +01:00
Tom Christie
321c060dbe Resolve incorrect media type (#4254) 2016-07-11 12:04:11 +01:00
Tom Christie
b51c1ff0b0 Django 1.9's test case HttpResponse.json() is not cachable. 2015-08-28 11:55:23 +01:00
José Padilla
7a0416c50b Raise error if passed a serializer instance 2015-08-07 13:12:37 -04:00
José Padilla
7351a3f6ca Sort imports with isort 2015-06-25 16:55:51 -04:00
José Padilla
83c9136c90 Cleanup import following PEP 8 style guide 2015-06-25 16:10:17 -04:00
José Padilla
55ee588f6e Use default reason phrases from HTTP standard.
Closes #2763
2015-03-25 13:27:47 -04:00
Tom Christie
53b29f0902 _closable_objects as an empty list, not deleted 2015-01-31 08:27:17 +00:00
Tom Christie
f3b6eedb8a More sensible response caching. 2015-01-23 12:56:55 +00:00
Xavier Ordoquy
311d315a73 Reverted 59d0a0387d and fixed the tests 2014-10-08 08:33:28 +02:00
Tom Christie
63d02dbea8 Drop six from compat. 1.4.2 is now the lowest supported version. 2014-08-19 17:06:55 +01:00
Tom Christie
bf09c32de8 Code linting and added runtests.py 2014-08-19 13:28:07 +01:00
Anler Hp
ebcc78d96c Leave status responsibility to parent class
Django's `HttpResponse` class checks for the `status` param when it's
initialized, if it's `None` it uses the class attribute
`status_code` and thanks to that we can do things like:

```
class BadRequest(HttpResponse):
    status_code = 400
```

Now, that doesn't work when inheriting from rest-framework's `Response`:

```
class BadRequest(rest_framework.response.Response):
    status_code = 400  # Bad, it's always ignored
```

Because a default status of `200` is being specified in
`rest_framework.response.Response`. I think is more Django-friendly to
just leave that status default value to `None` and leave the
responsibility of choosing its value to the parent class: `HttpResponse`.
2014-08-01 10:20:10 +02:00
Xavier Ordoquy
5e02f015b8 Better fix for the Django 1.3 compat 2014-07-29 10:30:08 +02:00
Xavier Ordoquy
59d0a0387d Fixed the Django 1.3 compat 2014-07-29 10:20:10 +02:00
Xavier Ordoquy
4210fedd21 Fixed the cache issue with Django 1.7 rc* 2014-07-29 08:35:00 +02:00
Tom Christie
38d78b21c0 Remove Content-Type header from empty responses. Fixes #1196 2013-12-03 16:55:11 +00:00
Menghan
b8aec1277c fix doc typo 2013-06-02 12:12:14 +08:00
Pascal Borreli
8f35ac4f93 Fixed typos 2013-05-28 15:09:23 +01:00
Tom Christie
aef7ac72cc content type may be set explicitly on the response 2013-05-20 21:18:17 +01:00
Tom Christie
f19e0d544f Fix charset issues 2013-05-20 21:00:56 +01:00
Tom Christie
0d3d66cb02 Added proper charset support 2013-05-18 17:21:43 +01:00
Karol Majta
ebe959b52a charset param gets now appended to response's Content-Type. Closes #807 2013-05-18 16:45:05 +02:00
Tom Christie
95abe6e844 Cleanup docstrings 2013-04-25 12:47:34 +01:00
Tom Christie
b052c92ac3 Cleanup imports
Mostly adding `from __future__ import unicode_literals` everywhere.
2013-02-04 20:55:35 +00:00
Xavier Ordoquy
60250f22c8 Move the various compat things to the compat module. 2013-01-03 11:41:07 +01:00
Xavier Ordoquy
17000129e3 Every (base) test should now pass with python3. 2012-11-24 23:19:03 +01:00
Tom Christie
0cfb27b40e Merge pull request #407 from ludwigkraatz/location_header
Location header when Creating a Resource with HyperlinkedIdentityField
2012-11-14 10:42:08 -08:00
Stephan Groß
44ff2e0add fixed some typos 2012-11-14 19:36:29 +01:00
Ludwig Kraatz
573de11b23 changed buggy response + code ploishing
reponse didnt handle any headers at all. Accepts now a dict of headers
and sets those properly
2012-11-13 18:07:38 +01:00
Tom Christie
b19c58ae17 Support for HTML error templates. Fixes #319. 2012-11-06 10:44:19 +00:00
Jacob Magnusson
963c5fe4a7 Remove attributes that are not needed when caching
the Response object. This fixes #346
2012-11-04 12:48:41 +01:00
Tom Christie
648d2be29b Make sure JSON output in Browseable API is nicely indented 2012-10-10 12:15:18 +01:00
Tom Christie
2575ea92aa Docs for template responses 2012-10-05 13:04:34 +01:00
Tom Christie
26c7d6df6c HTMLTemplateRenderer working 2012-10-05 12:13:44 +01:00
Tom Christie
d07dc77e91 Accepted media type uses most specific of client/renderer media types. 2012-10-05 10:23:47 +01:00
Tom Christie
43d3634e89 Docs tweaking 2012-09-30 15:55:24 +01:00
Tom Christie
064e1ba91f Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:16:08 +01:00
Tom Christie
3f7371c796 Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:15:31 +01:00
Tom Christie
b4cd699b75 Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:12:10 +01:00
Tom Christie
d9cba6398e Clean up bits of templates etc 2012-09-20 17:44:34 +01:00
Tom Christie
4b691c4027 Change package name: djangorestframework -> rest_framework 2012-09-20 13:06:27 +01:00