Commit Graph

2536 Commits

Author SHA1 Message Date
Xavier Ordoquy
3a29eff5f8 release_notes: fix call to super().data
`super().data()` leads to a `TypeError` saying that 'ReturnDict' object
is not callable.
2018-04-04 15:21:36 +02:00
Carlton Gibson
2621e03aa3 Added 3.8 announcement to docs
Correct release notes MD formatting
2018-04-03 16:06:06 +02:00
Carlton Gibson
fc588f539b
Version 3.8 Release (#5769) 2018-04-03 15:35:26 +02:00
Carlton Gibson
1befab795a
Added generic 500 and 400 JSON error handlers. (#5904)
* Added generic 500 and 400 JSON error handlers.
* Docs for generic error views.
2018-04-03 09:16:36 +02:00
Xavier Ordoquy
489d3415ab required extra argument should be a boolean, not a string. (fixes #5906) 2018-03-28 12:39:18 +02:00
Valentino Gagliardi
812d3478bd Added: Tutorial: Django REST with React (Django 2.0) (#5891) 2018-03-21 13:08:36 +00:00
Carlton Gibson
6c0c69ed65
Correct allow_null behaviour when required=False (#5888)
* Revert "Non-required fields with 'allow_null=True' should not imply a default value (#5639)"
    This reverts commit 905a5579df.
    Closes #5708

* Add test for allow_null + required=False
    Ref #5708: allow_null should imply default=None, even for non-required fields.

* Re-order allow_null and default in field docs
    default is prior to allow_null. allow_null implies an outgoing default=None.

* Adjust allow_null note.
2018-03-20 21:24:39 +01:00
Carlton Gibson
c2b24f83a3
Alter read_only+default behaviour (#5886)
* Always exclude read_only fields from _writable_fields

* Remove `read_only` from `CreateOnlyDefault` example.
      In this context (without mentioning `save`) now slightly misleading.
2018-03-20 21:09:31 +01:00
Anna Ossowski
12569f83c9
Update funding.md 2018-03-20 02:31:44 +01:00
Shreyans Sheth
e3f9c65362
Updated Rate Limiting Cite
The current link was broken, fixed it. A good article on rate limiting indeed.
2018-03-19 14:24:21 +05:30
Carlton Gibson
0da461710a
Corrected docs on router include with namespaces. (#5843)
* Provide both app and instance namespace examples
* Emphasise non-namespaced option
2018-03-13 15:52:04 +01:00
Will Vincent
ea7d414b28 Two new tutorials (#5837)
A Todo List API with React and Blog API tutorial
2018-02-19 07:19:42 +00:00
Carlton Gibson
6ea7d05979
Corrected endpoint in tutorial instructions (#5835)
Closes #5810
2018-02-16 16:57:25 +01:00
James Morris
2bc7cd19a3 Update jobs.md (#5828)
Add weworkcontract.com
2018-02-14 20:10:40 +00:00
Kent Kawashima
d82b332a09 Changes ternary conditionals to be PEP308 compliant (#5827) 2018-02-14 14:06:09 +00:00
Allisson Azevedo
d1c92c81ff Add Django Rest Framework Role Filters to Third party packages (#5809) 2018-02-08 09:04:51 +01:00
Paulo Scardine
0d5a3a00b0 Add schema to ObtainAuthToken
Add encoding parameter to ManualSchema

Closes #5676

* Fixed lint errors
* Added docs for ManualSchema encoding parameter
2018-02-05 16:16:42 +01:00
Fraire, Santiago
878fe895dc Docs: Added example reimplementing ObtainAuthToken
Closes #5802
2018-02-05 15:53:49 +01:00
Carlton Gibson
3c7b3ac6df
Updated step 1 of contributing guide (#5799)
* Create a fork, then clone it.
* Link to GitHub’s How-To.
2018-02-01 16:02:29 +01:00
Veli-Matti Helke
2fa04caf7c small fix to API documentation: schemas (#5796)
adding missing parameters to get_manual_fields()
2018-01-31 14:25:57 +01:00
Matt Prahl
2677f59d5d Refer to "NamespaceVersioning" instead of "NamespacedVersioning" in the documentation (#5754) 2018-01-29 15:33:14 +01:00
Max Goodridge
3e5d3752e7 Fixed a typo (#5783) 2018-01-29 08:41:55 +01:00
Jon Dufresne
052a20cd7b Load 'static' instead of 'staticfiles' in templates (#5773) 2018-01-26 00:43:55 -05:00
Aseem Shrey
1664588500 Updated docs to use pip show
Show the current DRF version using `pip show`

Closes #5757
2018-01-25 10:12:13 +01:00
Ryan P Kilby
73203e6b59 Rework dynamic list/detail actions (#5705)
* Merge list/detail route decorators into 'action'

* Merge dynamic routes, add 'detail' attribute

* Add 'ViewSet.get_extra_actions()'

* Refactor dynamic route checking & collection

* Refactor dynamic route generation

* Add 'ViewSet.detail' initkwarg

* Fixup schema test

* Add release notes for dynamic action changes

* Replace list/detail route decorators in tests

* Convert tabs to spaces in router docs

* Update docs

* Make 'detail' a required argument of 'action'

* Improve router docs
2018-01-25 09:40:49 +01:00
Carlton Gibson
a540acdc95
Allowed customising API documentation code samples (#5752)
* Allowed additional languages in API documentation

* Documented renderer_classes parameter and customising languages.
2018-01-25 09:39:03 +01:00
Teddy Cross
78367ba102 Always fully qualify ValidationError in docs (#5751) 2018-01-19 08:40:09 +01:00
Ryan P Kilby
2709de1310 Add HStoreField, postgres fields tests (#5654)
* Test postgres field mapping

* Add HStoreField

* Ensure 'HStoreField' child is a 'CharField'

* Add HStoreField docs
2018-01-15 15:52:30 +01:00
Jon Dufresne
d3f3c3d9c1 Prefer https protocol for links in docs when available 2018-01-15 15:15:21 +01:00
Jon Dufresne
d5c34aa813 Remove unused links from docs (#5735)
Each removed link has no inline use.
2018-01-15 15:03:44 +01:00
Jon Dufresne
b2ec681d8d Pass python_requires argument to setuptools (#5739)
Helps pip decide what version of the library to install.

https://packaging.python.org/tutorials/distributing-packages/#python-requires

> If your project only runs on certain Python versions, setting the
> python_requires argument to the appropriate PEP 440 version specifier
> string will prevent pip from installing the project on other Python
> versions.

https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords

> python_requires
>
> A string corresponding to a version specifier (as defined in PEP 440)
> for the Python version, used to specify the Requires-Python defined in
> PEP 345.
2018-01-11 08:51:34 +01:00
Jon Dufresne
ffe3dbb1b1 Perfer iter(dict) over iter(dict.keys()) (#5736)
Calling dict.keys() is unnecessary. The two are functionally equivalent
on modern Pythons.

Inspired by Lennart Regebro's talk "Prehistoric Patterns in Python" from
PyCon 2017.

https://www.youtube.com/watch?v=V5-JH23Vk0I
2018-01-08 09:49:46 +00:00
Cristi Vîjdea
522d453546 Add drf-yasg to documentation and schema 3rd party packages (#5720)
Also fixed broken `swagger` link.
2018-01-02 14:51:54 +01:00
Ryan P Kilby
b65967711c Formalize URLPatternsTestCase (#5703)
* Add formalized URLPatternsTestCase

* Update versioning tests w/ new URLPatternsTestCase

* Cleanup router tests urlpatterns

* Add docs for URLPatternsTestCase
2018-01-02 11:14:25 +01:00
Cristi Vîjdea
0712094ea2 Fix typo in HostNameVersioning doc (#5709) 2018-01-02 10:52:52 +01:00
guntanis
88c75ba808
Fixed "typo" in example.
Fixing code "typo" in example.
In the original file, line 145 reads:
        url(r'^api-auth/', include('rest_framework.urls'),
It's missing the closing parenthesis.
2017-12-28 02:01:01 -08:00
Mariano Baragiola
be0a57b0f1 FIX link 2017-12-27 10:28:59 -03:00
Mariano Baragiola
6ce60cd594 Update writable nested serializers docs 2017-12-27 10:17:10 -03:00
Ryan P Kilby
5fc35eb7eb Add missing word in 'Field.allow_null' docs 2017-12-22 12:23:07 -05:00
Bruno Alla
832267e945 Fix formatting of the 3.7.4 release note (#5704) 2017-12-22 08:28:35 +01:00
Xavier Ordoquy
955a6b902b Add 3.7.7 release notes 2017-12-21 12:45:54 +01:00
Tom Christie
65791d8c79 Version 3.7.5. Add missing .ico to packaging. 2017-12-21 10:17:59 +00:00
Tom Christie
0d96be9266 Add 3.7.5 release notes 2017-12-21 10:13:18 +00:00
Mariusz Felisiak
5e21bf852b
Bumped Django 2.0 version in requirements list. 2017-12-20 21:27:22 +01:00
Carlton Gibson
a81e60ff39
Version 3.7.4 Release (#5650)
* Update version for 3.7.4 Release

* Add release notes to 01587b9eb1

* Django 2.0 is now final.

* Add trove classifer for Django 2.0

* Finalise release notes for v3.7.4

* Set release date: December 20, 2017

* Update Transifex

* Add release note for #5691

* Move Issue links to bottom
2017-12-20 15:28:31 +01:00
Carlton Gibson
cf3929d88d
Add example using source=‘*’ to custom field docs. (#5688)
* Add example using `source=‘*’` to custom field docs.
* Add nested serialiser example

Closes #2032 closes #3066
2017-12-20 10:04:12 +01:00
Jimmy Merrild Krag
ea0b3b32ad Fix typo (#5687)
Fixed `include_docs_url` to be `include_docs_urls`
2017-12-19 15:03:47 +01:00
Carlton Gibson
4bcbf691cf
Document ViewSet.action (#5685)
Closes #2941

Provides example of adjusting permission by action.
2017-12-19 12:06:57 +01:00
Carlton Gibson
e87fcbb99d
Add link to Classy DRF in docs (#5683)
Closes #5636 as per https://github.com/encode/django-rest-framework/issues/5636#issuecomment-348143281
2017-12-19 12:06:41 +01:00
Carlton Gibson
b3a0b271cd
Add example to to_representation docs (#5682)
Closes #5425 as per https://github.com/encode/django-rest-framework/issues/5425#issuecomment-341063819
2017-12-19 12:06:24 +01:00
Carlton Gibson
43c2c91dde
Add note on object permissions for FBVs (#5681)
Closes #3269
2017-12-19 12:05:59 +01:00
Carlton Gibson
6560f44912
Update OPTIONS example from “Documenting Your API” (#5680)
Closes #3489

* Updates example to post-3.0 API, using metadata class
* Adds link to metadata docs.
2017-12-19 12:05:46 +01:00
Carlton Gibson
cc25f57f7b
Add UNAUTHENTICATED_USER = None note (#5679)
When removing authentication entirely you cannot import `django.contrib.auth.models.AnonymousUser`

Closes #3494
2017-12-19 10:31:20 +01:00
Carlton Gibson
2359d3981b
Add docs note re generated BooleanField being required=False (#5665)
* Note that BooleanField default is required=False

Closes #5664
2017-12-14 11:39:54 +01:00
Carlton Gibson
791539acec
Add DEFAULT_SCHEMA_CLASS setting (#5658)
* Add test for new setting

* Add DefaultSchema utility

* Add new setting to docs
2017-12-14 11:24:21 +01:00
Anna Ossowski
1692feb535
Updated monthly report link 2017-12-06 03:10:41 +01:00
Hang Park
01587b9eb1 Typos in serializers documentation (#5652)
Fixes #5651.

Change `update()` to `.update()` in serializers documentation to get a
consistency with `.create()`.
2017-12-04 07:00:03 -05:00
Ryan P Kilby
7855d3bd8b Add '.basename' and '.reverse_action()' to ViewSet (#5648)
* Router sets 'basename' on ViewSet

* Add 'ViewSet.reverse_action()' method

* Test router setting initkwargs
2017-12-04 11:55:49 +01:00
Carlton Gibson
c7df69ab77
Note AutoSchema limitations on bare APIView (#5649)
AutoSchema uses GenericAPIView hooks to introspect. If these are not present it’s results will be limited. Note this.

Closes #5121
2017-12-04 10:52:59 +01:00
Carlton Gibson
a0cdba6277
Extract method for manual_fields processing (#5633)
* Extract method for `manual_fields` processing

Allows reuse of logic to replace Field instances in a field list by `Field.name`.

Adds a utility function for the logic plus a wrapper method on `AutoSchema`.

Closes #5632

* Manual fields suggestions (#2)

* Use OrderedDict in inspectors

* Move empty check to 'update_fields()'

* Make 'update_fields()' an AutoSchema staticmethod

* Add 'AutoSchema.get_manual_fields()'

* Conform '.get_manual_fields()' to other methods

* Add test for update_fields

* Make sure `manual_fields` is a list.

(As documented to be)

* Add docs for new AutoSchema methods.

* `get_manual_fields`
* `update_fields`

* Add release notes for PR.
2017-12-04 09:07:43 +01:00
Ryan P Kilby
5f42cb7027 Add allow_null serialization output note (#5641) 2017-12-01 10:07:33 +01:00
Carlton Gibson
97f7a82b37 Correct typos
Closes #5634
2017-11-28 16:46:34 +01:00
José Padilla
743fc247eb Update tutorial (#5622)
* Use createsuperuser email and username flags

* Only remove db.sqlite3

* Remove global permission class

This interferes with Core API schema endpoint

* Add default pagination class

* Specify changes made in snippets/urls.py

* Auth urls were already set in tutorial/urls.py

* Specify changes made in snippets/urls.py

* Use the suggested admin username from quickstart

* Move global pagination setting away from quickstart section
2017-11-27 11:34:17 +01:00
Ryan P Kilby
c63e35cb09 Fix AttributeError hiding on request authenticators (#5600)
* Update assertion style in user logout test

* Apply middlewares to django request object

* Fix test for request auth hiding AttributeErrors

* Re-raise/wrap auth attribute errors

* Fix test for py2k

* Add docs for WrappedAttributeError
2017-11-23 08:58:04 +01:00
Jon Dufresne
ff556a91fd Remove references to unsupported Django versions in docs and code (#5602)
Per the trove classifiers, DRF only supports Django versions 1.10+. Can
drop documentation, code comments, and workarounds for older Django
versions.
2017-11-20 09:35:54 +01:00
bartkim0426
9c11077cf6 Fix in documentation (#5612)
- typo in serialization document: 'intead' => 'instead'
2017-11-20 09:08:16 +01:00
Alexei Znamensky
20954469b2 Fix in documentation (#5611)
- model serializers now must provide either "fields" or "exclude" as attribute
2017-11-20 09:07:36 +01:00
Anna Ossowski
c33d0069da
Updated monthly report link + added 3.7 info 2017-11-10 19:27:26 +01:00
Jon Dufresne
f9c67f04d4 Clean up all whitespace throughout project (#5578)
* Remove trailing whitespace from lines
* Remove trailing nad leading whitespace from files

Allows for cleaner diffs in future changes. For editors that
automatically clean up whitespace on save, will avoid unrelated line
changes in diffs.
2017-11-09 20:57:53 +01:00
Carlton Gibson
0f33e63e10
Update version and release notes for v3.7.3 (#5568) 2017-11-06 16:32:12 +01:00
Carlton Gibson
3dc40f9572
Version 3.7.2 Release (#5563)
* Begin release notes for 3.7.2

* Add release notes fro merged issues.

* Finalise release notes

* Increment version number to 3.7.2

* Update translations
2017-11-06 12:05:08 +01:00
Carlton Gibson
331c31370f
Add rounding parameter to DecimalField (#5562)
* Adding rounding parameter to DecimalField.

* Using standard `assert` instead of `self.fail()`.

* add testcase and PEP8 multilines fix

* flake8 fixes

* Use decimal module constants in tests.

* Add docs note for `rounding` parameter.
2017-11-06 09:55:09 +01:00
Adrien Brunet
1575bd98d8
Update link to documentation
Previous link led to a maze. :/
2017-11-03 15:49:21 +01:00
Allisson Azevedo
3ddc22f708 Add djangorestframework-rapidjson to third party packages (#5549) 2017-11-02 10:19:33 +01:00
Danilo Akamine
4249245123 Add import to example in api-guide/parsers (#5547) 2017-10-30 17:11:54 +01:00
Pratyush Mittal
f87699e2ca Adding examples and documentation for caching (#5514) 2017-10-20 09:10:09 +02:00
Carlton Gibson
80320ed615 Version 3.7.1 Release (#5505)
* Release notes for 3.7.1

* Update version to 3.7.1
2017-10-16 15:11:54 +02:00
Ryan P Kilby
6221124e0d Docs about default value for dotted source, additional tests (#5489)
* Add docs note on dotted source + default value

* Add additional dotted source tests
2017-10-16 11:33:46 +02:00
Matthew Egan
e39d9337da Version 3.7 annoucement fix (#5501) 2017-10-15 21:51:55 +02:00
Tom Christie
bafbc60006 Update rollbar logo 2017-10-13 14:40:10 +01:00
Tom Christie
f3fe13f707 New logo (#5497) 2017-10-13 14:35:53 +01:00
Xavier Ordoquy
f585eee125 Remove duplicated line 2017-10-09 22:19:53 +02:00
Ed Morley
22565d9a65 Docs: Fix a few typos in the release notes and tutorial (#5483) 2017-10-06 15:46:42 +01:00
Carlton Gibson
eb3d078a2c Version 3.7: Announcement etc (#5437)
* Set version number for 3.7.0 release

* Rename release notes section

Moved issue links to top for easier access.
(Can move back later)

* Add release note for #5273

* Add release note for #5440

* Add release note for #5265

Strict JSON handling

* Add release note for #5250

* Add release notes for #5170

* Add release notes for #5443

* Add release notes for #5448

* Add release notes for #5452

* Add release not for #5342

* Add release notes for 5454

* Add release notes for #5058 & #5457

Remove Django 1.8 & 1.9 from README and setup.py

* Release notes for merged 3.6.5 milestone tickets

Tickets migrated to 3.7.0 milestone.

* Add release notes for #5469

* Add release notes from AM 2ndOct

* Add final changes to the release notes.

* Add date and milestone link

Move issue links back to bottom.

* Update translations from transifex

* Begin releae anouncement

* Add release note for #5482

* 3.7 release announcement & related docs.
2017-10-06 13:18:31 +02:00
Carlton Gibson
d8da6bb29b Update coreapi JS to 0.1.1 (#5479)
Ref #5059
2017-10-05 13:40:28 +02:00
Carlton Gibson
2befa6c316 Document documentation.py (#5478)
Closes #5198. Closes #5142. Closes #4980
2017-10-04 12:12:06 +02:00
Tom Christie
5dcb460793 Update link to monthly report.
Closes #5474.
2017-10-03 12:15:52 +01:00
Ryan P Kilby
e0a6c4b5bd Clarify 'to_internal_value()' validation behavior (#5466) 2017-10-02 13:51:48 +01:00
Lim H
62ecbf2817 Add drf-openapi (#5470)
* Add DRF OpenAPI as a 3rd party tool for DRF doc

* Add image

* Add third party packages section to schema doc

* Add DRF OpenAPI reference
2017-10-02 11:16:33 +02:00
Shreyans Sheth
e6193cfd9e Added Response import in Code Snippet (#5468)
Added `from rest_framework.response import Response` in the viewset code snippet example
2017-10-02 09:04:55 +02:00
Carlton Gibson
5c2290d973 Add note on not using floats with CursorPagination (#5459)
Closes #5160, closes #5164.
2017-09-27 12:23:54 +02:00
Carlton Gibson
1bcee8c60c Document extra parameters to get_schema_view 2017-09-25 16:25:40 +02:00
Matt Davis
107e8b3d23 Make DEFAULT_PAGINATION_CLASS None by default. (#5170)
* Changes to the paginator defaults and settings

Require a default paginator be specified when using the page size
setting.
https://github.com/encode/django-rest-framework/issues/5168

* DRF-5168 import warnings

missed this in last commit

* Add a system checks file

Add a check for pagination settings for the 3.7 upgrade cycle.

* more compatible import approach

* missing bactic

* revised language and approach to import the system check

Adds a rest framework app config.

* Adjust doc wording
2017-09-25 15:36:30 +02:00
Paolo Melchiorre
11e5851196 Update pagination.md
Fixed 2 missing spaces in Custom Pagination snippet
2017-09-25 11:30:21 +02:00
Carlton Gibson
aecca9d8e8 Add note on force_authenticate + refresh_from_db
…in case you’re reusing the same in-memory user whilst updating it in the DB.

Closes #5016, closes #5066, closes #4102
2017-09-25 11:14:36 +02:00
Ryan P Kilby
215248c042 Add 'STRICT_JSON' docs 2017-09-25 09:08:20 +02:00
Carlton Gibson
cb6e7e0fdd Drop erroneous ) in release notes 2017-09-20 14:23:51 +02:00
Carlton Gibson
7d6d043531 Fix DateTimeField TZ handling (#5435)
* Add failing TZ tests for DateTimeField

- tests "current" timezone activation
- tests output for non-UTC timezones

* Update DateTimeField TZ aware/naive test output

* Fix DateTimeField TZ handling

* Add Release Note for BC change
2017-09-20 12:15:15 +02:00
Xavier Ordoquy
89daaf6276 Add the project layout to the quickstart to have a milestone for the project creation. (#5434) 2017-09-20 12:05:04 +02:00
Carlton Gibson
7b1582e00e Allow schema = None. Deprecate exclude_from_schema (#5422)
* Add tests for schema exclusions

* Move exclusion check to should_include_endpoint

* Update docs

* Switch to using `schema = None`

* Test PendingDeprecationWarnings

* Add note to release notes.

* s/deprecated/pending deprecation/

* Add PR link to release notes

* Correct typo in test class name

* Test 'exclude_from_schema' deprecation warning message (#1)

* Correct deprecation warning message
2017-09-20 11:29:47 +02:00