Commit Graph

1218 Commits

Author SHA1 Message Date
Adrien Brunet
1e2fd25f54 Fix #3387: Documentation - Remove leading '.' before format option (#6388) 2019-01-04 14:45:08 +00:00
Phil Ratcliffe
1a9548db4f Fix missing import in example code 2018-12-28 16:10:08 +00:00
Anuvrat Parashar
97a47958c0 correct grammar, remove common noun after proper noun. (#6383)
`MultipartParser` is enough to denote that it is a parser.
2018-12-24 15:54:27 +00:00
johnthagen
f0712aa78a
Fix example to be Python 3.x and 2.7 compatible 2018-12-22 15:29:02 -05:00
Carlton Gibson
86aa7768a7 Update quote in relations.md (#6373)
Fixes #6372.
2018-12-21 11:39:01 +00:00
Adrien Brunet
c4a021185f docs: typo in permissions (double space) 2018-12-18 13:03:03 +01:00
JerzySpendel
627eeb8202 Add missing comma in documentation of permission composition (#6336) 2018-12-07 16:44:57 -05:00
Josh Smith
facb433c89 Remove unmaintained digest authentication package (#6347)
https://github.com/juanriaza/django-rest-framework-digestauth has not been updated in 5 years and is currently incompatible with the latest DRF ecosystem.
2018-12-06 16:26:40 +00:00
Mice Pápai
d0369b27cd update docs/api-guide/serializers.md: consistency (#6320) 2018-11-15 14:44:54 +00:00
ilmucio
40da2a21ef Update authentication.md (#6291) 2018-10-29 15:43:06 -07:00
Tano Abeleyra
9d001cd84c Fix typo in testing.md (#6257) 2018-10-18 15:42:52 -07:00
Tom Christie
6522d4ae20
Add OpenAPIRenderer by default, and add schema docs. (#6233)
* Add OpenAPIRenderer as a default for get_schema_view, and start adding schema docs

* Add optional pyyaml

* Updating schema docs
2018-10-04 14:05:55 +01:00
Xavier Ordoquy
b41a6cfa38 permissions: Allow permissions to be composed (#5753)
* permissions: Allow permissions to be composed

Implement a system to compose permissions with and / or.
This is performed by returning an `OperationHolder` instance that keeps the
permission classes and type of composition (and / or).
When called it will return a AND/OR instance that will then delegate the
permission check to the operands.

* permissions: Add documentation about composed permissions

* Fix documentation typo in permissions
2018-10-03 15:36:24 +01:00
Ryan P Kilby
66183389f6 Deprecate DjangoObjectPermissionsFilter (#6075) 2018-10-02 16:34:25 +02:00
Ryan P Kilby
903204cd79 Fix action support for ViewSet suffixes (#6081)
* Add suffix support for actions

Removes the newly introduced `action.name` in favor of leveraging the
View's `.get_view_name()` method, which supports both name and suffix.

* Fix view description func docstrings

* Test action decorator name & suffix kwargs

* Adjust 'extra action' docs
2018-10-02 16:22:21 +02:00
Lewis M. Kabui
d0995fac70 Remove dot character from "pagination_class" (#6137) 2018-10-02 08:49:31 +02:00
Matheus Cansian
9ecce21044 Update JWT docs. (#6138)
* Remove mentions to djangorestframework-jwt in docs
* Remove links for blimp and djangorestframework-jwt
2018-10-02 08:43:45 +02:00
Jon Dufresne
878f9d2783 Prefer https:// for URLs when available throughout project (#6208) 2018-10-02 08:28:58 +02:00
Anish Shrestha
2e8ccfd883 Fix typo in docs (#6212) 2018-09-25 12:11:13 -07:00
Anish Shrestha
d976ac56b0 Fix spelling error (#6198) 2018-09-21 08:55:32 +02:00
Melissa Lewis
b090ae9d30 Fix docs typos (#6195) 2018-09-18 15:32:32 -07:00
Jon Dufresne
4d57d46bf8 Prefer io.BytesIO over six; available on all supported Pythons (#6168)
On all supported Pythons, the io.BytesIO is always a stream
implementation using an in-memory bytes buffer.

Makes code slightly more forward compatible by reducing use of the six
module and promotes more forward compatible practices in the docs.
2018-09-09 11:53:41 +01:00
David Sanders
69f605f30e
Fix validate_my_field signature 2018-09-06 18:16:06 -07:00
Timothy Allen
bc573d8096 Add drf-renderer-xlsx package. (#6147)
* Add drf-renderer-xlsx package.

* Gah, tabs creeped in; never leave your default editor environment. :)
2018-09-06 11:01:57 +01:00
dengshilong
0484d01aae Fix typo error, Link to Field (#6078) 2018-07-10 11:03:39 +02:00
Ryan P Kilby
7095021db7 Rename base_name => basename for consistency's sake (#5990)
* Rename base_name => basename for consistency

* Update tests to use basename
2018-07-06 11:03:12 +02:00
Ryan P Kilby
6511b52cca Fix schemas for extra actions (#5992)
* Add failing test for extra action schemas

* Add ViewInspector setter to store instances

* Fix schema disabling for extra actions

* Add docs note about disabling schemas for actions
2018-07-06 10:35:36 +02:00
Ryan P Kilby
0148a9f8da Improvements to ViewSet extra actions (#5605)
* View suffix already set by initializer

* Add 'name' and 'description' attributes to ViewSet

ViewSets may now provide their `name` and `description` attributes
directly, instead of relying on view introspection to derive them.
These attributes may also be provided with the view's initkwargs.

The ViewSet `name` and `suffix` initkwargs are mutually exclusive.

The `action` decorator now provides the `name` and `description` to
the view's initkwargs. By default, these values are derived from the
method name and its docstring. The `name` may be overridden by providing
it as an argument to the decorator.

The `get_view_name` and `get_view_description` hooks now provide the
view instance to the handler, instead of the view class. The default
implementations of these handlers now respect the `name`/`description`.

* Add 'extra actions' to ViewSet & browsable APIs

* Update simple router tests

Removed old test logic around link/action decorators from `v2.3`. Also
simplified the test by making the results explicit instead of computed.

* Add method mapping to ViewSet actions

* Document extra action method mapping
2018-07-06 10:33:10 +02:00
Çağıl
8f55cd8db5 Fix url for group_names action example (#6036) 2018-06-21 04:29:05 -04:00
Tom Eastman
be2bcf7e3f Documentation: Correct the signature for HyperlinkedRelatedField.get_object() 2018-06-13 16:39:28 +12:00
Emeka Icha
a21484d90e (fix) link to disqus article on cursor pagination (#6020) 2018-06-12 10:34:28 +01:00
Teppei Fukuda
fe54575e6a Fix exceptions.md (#6003) 2018-05-25 10:42:22 +01:00
int3l
1ee3829a2f Update the http signature auth library ref link (#5997)
* Update the http signature auth library ref link

It seems that the djangorestframework-httpsignature package is outdated
and there is updated fork named drf-httpsig.

* Fixing the link ref format in the http signature section
2018-05-22 12:22:09 +01:00
Andreas Lutro
a6b6b6ce55 remove references to DOAC in docs (#5977)
Project has been archived on github and recommends alternative.
2018-05-08 09:10:43 +01:00
Victor Martins
21c0fcf63b Added import statement on filtering docs 2018-05-06 00:02:09 -03:00
Çağıl
8c03c49400 update testing.md - fixes related to RequestsClient (#5959)
* Include import for RequestsClient in the docs.
* Use fully qualified URLs for `RequestsClient` in the docs.
2018-04-26 12:47:38 +01:00
Noam
7268643b25 min_value/max_value support in DurationField (#5643)
* Added min_value/max_value field arguments to DurationField.
* Made field mapping use mix/max kwargs for DurationField validators.
2018-04-24 09:24:05 +02:00
Mikkel Munch Mortensen
9dbb49ef22 Docs: Match original argument names (#5889)
Change argument names in overridden field methods to match those of the base classes.
2018-04-20 15:35:09 +02:00
minitux
3dd90d2b46
[DOCS] python print syntax
python3 style
2018-04-09 23:31:58 +02:00
Steven Loria
8a639c6c06 Update link to django-rest-marshmallow docs (#5925) 2018-04-09 16:48:18 +02:00
Michael
ffac61c6fe Docs: Add missing argument 'detail' to Route (#5920)
The namedtuple Route requires `detail` to be specified, otherwise it
fails with:
`TypeError: __new__() missing 1 required positional argument: 'detail'`

See https://github.com/encode/django-rest-framework/pull/5705/files#diff-88b0cad65f9e1caad64e0c9bb44615f9R34
2018-04-05 14:24:31 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Xavier Ordoquy
f585eee125 Remove duplicated line 2017-10-09 22:19:53 +02: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
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
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
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