Commit Graph

1118 Commits

Author SHA1 Message Date
Carlton Gibson
d54df8c438 Refactor schema generation to allow per-view customisation (#5354)
* Initial Refactor Step

* Add descriptor class
* call from generator
* proxy back to generator for implementation.

* Move `get_link` to descriptor

* Move `get_description` to descriptor

* Remove need for generator in get_description

* Move get_path_fields to descriptor

* Move `get_serializer_fields` to descriptor

* Move `get_pagination_fields` to descriptor

* Move `get_filter_fields` to descriptor

* Move `get_encoding` to descriptor.

* Pass just `url` from SchemaGenerator to descriptor

* Make `view` a property

Encapsulates check for a view instance.

* Adjust API Reference docs

* Add `ManualSchema` class

* Refactor to `ViewInspector` plus `AutoSchema`

The interface then is **just** `get_link()`

* Add `manual_fields` kwarg to AutoSchema

* Add schema decorator for FBVs

* Adjust comments

* Docs: Provide full params in example

Ref feedback b52e372f8f (r137254795)

* Add docstring for ViewInstpector.__get__ descriptor method.

Ref https://github.com/encode/django-rest-framework/pull/5354#discussion_r137265022

* Make `schemas` a package.

* Split generators, inspectors, views.

* Adjust imports

* Rename to EndpointEnumerator

* Adjust ManualSchema to take `fields`

… and `description`.

Allows `url` and `action` to remain dynamic

* Add package/module docstrings
2017-09-14 09:46:34 +01:00
Jozef
7037ce88e9 Fix throttling documentation about Remote-Addr (#5414)
Clarify in docs that REMOTE_ADDR is part of the WSGI environ, not an HTTP header.
2017-09-12 12:08:32 +01:00
Sanjuro Jogdeo
0e341c24b4 Update get_object() example in permissions.md (#5401)
* Update get_object() example in permissions.md 

I'm a bit confused about the example that's provided in the 'Object level permissions' section.  Other examples (e.g. Tutorial 3 - Class Based Views) provided a pk to get_object().  It doesn't seem like this example has any way of identifying a specific object.  

Just in case I'm correct, I've prepared this pull request. But if I'm wrong, would it be possible for you to explain the example I modified?  

Many Thanks...

* Adjust patch
2017-09-08 18:51:16 +02:00
ersel-ionova
13222e45bc Make status_code documentation more readable. (#5400)
* Make status_code documentation more readable.

* Update status-codes.md
2017-09-08 16:53:17 +01:00
Irvan
b11f37eaf3 Fixed the MultipleFieldLookupMixin example to properly check for object level permission. 2017-09-07 11:06:44 +08:00
Vadim Laletin
c0475d059d Update link to drf-writable-nested repository in third-party serializers 2017-08-29 10:39:52 +07:00
Scott Kelly
807b9c716c Fix doc Response data attribute description 2017-08-23 21:30:56 -05:00
Carlton Gibson
43c7af0bb5 Adjust ListField & DictField signature docs (#5333)
Closes #5301
2017-08-17 10:06:09 +01:00
Oliver Eidel
bf4b3ff0d5 Fix token param in force_authenticate example (#5284)
related_name for Token is `auth_token`, not `token`.
2017-08-14 13:09:47 +01:00
Andrea Grandi
1799b569d8 Add documentation to create user token with the new command 2017-08-13 11:08:44 +01:00
Alexander Dutton
e80b78d1cb RemoteUserAuthentication, docs, and tests (#5306)
RemoteUserAuthentication, docs, and tests
2017-08-11 10:35:00 +01:00
Steven Johns
9b5a6bea67 Fix typo on fields.md (#5320)
> keeps you error messages

to

> keeps your error messages

and 

> more cleanly separated from your code

to 

> cleaner and more separated from your code
2017-08-09 15:21:23 -04:00
Didi Hoffmann
1368d3677c Added the separator line back
Accidentally also deleted a line.
2017-07-31 15:00:26 +02:00
Didi Hoffmann
ad501d41f5 Added the django user model
So it is possible to copy paste the example and it will work out of the box.
2017-07-31 14:50:36 +02:00
Tommy Beadle
2a1fd3b45a Add link to third-party package for LinkHeaderPagination. (#5270) 2017-07-12 16:45:41 +01:00
David Sanders
4091607d94 Add information in docs about djangorestframework-simplejwt package 2017-07-05 14:48:54 -06:00
Neftalí Acosta
900cae1507 Link broken
The link to the Python Exception Handling Techniques article written by Doug Hellmann is broken.

I could find the article in the URL I proposed.
2017-06-23 08:09:10 +01:00
Michael Hrivnak
5fe984b657 typo fix
removes an extraneous word
2017-06-20 15:07:45 -04:00
Aristóbulo Meneses
5002d1a9ae Update DOT docs
DOT renamed `ext` to `contrib` on their new release `1.0.0`
2017-06-17 15:02:22 +02:00
Matt Broach
e4ec1d744e Updated DjangoRestMulipleModel documentation to point to new repo location 2017-05-30 23:39:18 -04:00
Tom Christie
5267fcc8c6 Merge pull request #5159 from carltongibson/docs/get_schema_view_params
Add `generator_class` parameter to `get_schema_view` docs.
2017-05-29 12:53:49 +01:00
Tom Christie
7de34cf187 Merge pull request #5163 from khakulov/patch-2
Added documentation from where to import get_schema_view
2017-05-29 11:55:02 +01:00
Azim Khakulov
d1093b5326 Added documentation from where to import get_schema_view 2017-05-23 02:08:20 +02:00
Carlton Gibson
53b3b83b04 Add generator_class parameter to docs.
`get_schema_view` accepts `generator_class` parameter
2017-05-22 11:55:19 +02:00
Xavier Ordoquy
6831472a62 Remove ambiguous reference to former DjangoFilterBackend. 2017-05-19 23:50:13 +02:00
Xavier Ordoquy
703655bc65 Non model Viewset requires base_name when registering to router. 2017-05-19 23:35:25 +02:00
Ryan P Kilby
7322aa6b68 Simplify django-filter docs, add drf integration link 2017-05-03 11:03:11 -04:00
Xavier Ordoquy
a1e6d83533 Add missing pk keyword argument to the detail_route. 2017-05-03 02:19:30 +02:00
Rodney Folz
971bc066c5 Improve grammar in .force_authenticate() docs
* Remove unnecessary comma
* Remove the "and simple" copied from the line above.
* Add "entirely" to emphasize that this function bypasses the authentication step.
2017-04-27 15:44:06 -07:00
Tom Christie
aafd0a644f Merge pull request #4979 from linovia/feature/improve_schema_shortcut
Restrict doc & schema shortcuts to a subset of urls
2017-04-27 16:58:01 +01:00
Mike Lissner
b8520a1f2e Updates the core json media type in the docs
Per: http://www.django-rest-framework.org/topics/3.5-announcement/#corejson-media-type

(I was *wondering* why this didn't seem to work!)
2017-04-20 11:37:46 -07:00
Xavier Ordoquy
36e5759498 Add documentation for the get_schema_view new argument: patterns 2017-04-19 07:49:13 +02:00
Azim Khakulov
613aa61ada Clarify get_schema_fields signature
I had to look for the signature of `get_schema_fields()`in source code.
2017-04-12 12:25:27 +02:00
Tom Christie
20c7a24c14 Merge pull request #5025 from aaronn/thirdparty
Add drfpasswordless to Third Party Packages and Authentication pages
2017-03-27 20:12:38 +01:00
aaronykng
0400cbbc4c Added drfpasswordless to Authentication docs 2017-03-27 12:08:07 -07:00
Jack Evans
73bd709813 Document adding django_filters to installed apps
Reminds users to add `django_filters` to their `INSTALLED_APPS` as detailed in the django-filter documentation https://django-filter.readthedocs.io/en/develop/guide/install.html
2017-03-27 16:13:50 +01:00
aaronykng
aa92736d72 Added drfpasswordless to authentication topic page. 2017-03-27 07:19:11 -07:00
Nick Timkovich
51c6d23a05 Mention where the mixins live
Ctrl-F on the ViewSets page doesn't show where the `mixins.SomeMixin...` classes come from.
2017-03-19 17:17:37 -05:00
Tibo Beijen
cf5d401a0e Allow required false and default (#4692)
* Default value will now be used when serializing if key or attribute is missing.
2017-03-07 13:19:19 +00:00
Md. Al-Amin
8a14b39e7d Added doc for removing pagination in generic-view. (#4940) 2017-03-06 18:33:27 +00:00
Vadim
d390762e18 Add drf-writable-nested package to third-party serializers (#4913) 2017-02-20 15:16:27 +00:00
Akhil Lawrence
963cb4cdc6 Corrected documentation 2017-02-18 13:20:03 +05:30
Eduard Iskandarov
de8fcbf696 Refs: #4256 delete unrelevant documentation 2017-02-14 13:27:33 +03:00
Michael Borisov
176831e22b Missing comma (#4889) 2017-02-08 15:17:58 +00:00
李扬
cbad236f6d Add max_length and min_length arguments for ListField (#4877) 2017-02-06 09:36:03 +00:00
Luca
635dc03529 Parametrizable viewset custom views reverse name (#4821) 2017-01-19 15:20:34 +00:00
Emmanouil Konstantinidis
81195aabbf Include a link to the django-rest-framework-api-key package 2017-01-18 14:36:43 +00:00
Artem Muterko
b352c8a24c Fix some typos in documentation 2017-01-08 15:34:52 +02:00
wim glenn
e2c35920d1 fix a spelling error in api-guide (#4788) 2017-01-06 22:46:56 +00:00
Roman Vasilyev
64e801e479 get view for django 'virtual hosts' (#4776)
Brill, thanks! 👍
2017-01-06 22:46:36 +00:00
wim glenn
718764f591 add links to djangorestframework-queryfields to docs (#4786) 2017-01-06 06:40:50 +00:00
Ian Clark
eddc34f4c8 Add Serializer Extensions documentation (#4777) 2017-01-04 08:40:42 +00:00
Ryan P Kilby
11fd3bf108 Add disabling of declared fields on serializer subclasses (#4764)
* Add test for disabling declared fields on child
* Check that declared base field is not in attrs
* Update meta inheritance docs to include serializer
* Test that meta fields cannot be declared as None
* Add docs example for declarative field disabling
2017-01-03 21:14:19 +00:00
robert
492444eb2e added drf-flexfields addon info 2017-01-02 17:03:03 -06:00
Emmanuelle Delescolle
d98a0772d0 Add DRF-Base64 to third-party serializers
Add DRF-Base64, which provides serializers to handle base64-encoded files, to third-party serializers packages
2016-12-31 08:16:45 +01:00
Emmanuelle Delescolle
f1cbf51b43 Add drf-schema-adapter to 3rd party metadata mods 2016-12-25 10:06:47 +01:00
Masashi SHIBATA
c2367fb017 Fix documentation's sample code in API Guide (#4756) 2016-12-17 13:00:29 +00:00
Eduard Iskandarov
ebe174c0d7 add per-view custom exception handler support (#4753) 2016-12-15 12:36:40 +00:00
Tom Christie
89d22942a6 Add missing docs on RequestsClient. Closes #4747. 2016-12-12 10:08:54 +00:00
Daniel Rech
761d53e923 Updated Link ti Django Docs
The Url to the settings/#caches Link changed in Django documentation.
2016-12-05 11:36:03 +01:00
Carlton Gibson
16f5d42cbc Add additional link to HTML & Forms topic page (#4726)
Just makes the topic page easier to find.

Closes #1673
2016-12-01 09:11:25 +00:00
Xavier Ordoquy
22578525ef Documentation update (#4717) 2016-11-30 12:58:34 +00:00
Jeff Fein-Worton
a5c8a8c226 typo 2016-11-29 18:00:10 -08:00
Germán Larraín
aed8387e05 docs: Fix description of DecimalField's max_digits (#4714)
As of PR #4377, `max_digits=None` is allowed for `DecimalField`.
2016-11-29 15:35:43 +00:00
Xavier Ordoquy
1e0988686c Update the Python doc links to use https and point to Python 3 (#4713) 2016-11-29 12:27:00 +00:00
Nik Nyby
abc62afddb docs typo fix (#4701)
Remove unnecessary "a"
2016-11-24 09:39:18 +00:00
Nik Nyby
eaec60ae1d docs: grammar fix - it's -> its (#4698) 2016-11-23 16:10:39 +00:00
Nik Nyby
a13b8d5560 docs: grammar fix 2016-11-23 10:13:03 -05:00
Vinay Anantharaman
8030f5b74f Edit to the import in Setting filter backends
`django_filters` doesn't export `rest_framework` by default so it's required to import it.
2016-11-22 14:50:47 -08:00
Bruno Alla
0c02bbbfa7 Correct a small typo in exceptions documentation 2016-11-14 16:58:16 +00:00
Tom Christie
24791cb353 Invalidate any existing prefetch cache on PUT requests. (#4668) 2016-11-11 09:44:35 +00:00
Aaron Lelevier
0b9304014d Add documentation link for single 'field-level validation' to the Validator docs page (#3772) (#4657) 2016-11-07 11:30:46 +00:00
Carlos de la Torre
d55e176a1e Fix documentation error: removed unused variable (#4647) 2016-11-02 14:03:53 +00:00
Josep Cugat
46f837a9d1 Fix APIException full_details() typo in documentation (#4633)
APIException has a get_full_details() method but the documentation refers to full_details().
2016-10-28 12:05:32 +01:00
Phil Krylov
72dc6d1d5c Add drf-proxy-pagination reference to Pagination docs 2016-10-23 04:36:36 +03:00
Mads Jensen
8ac524915c added on_delete=models.CASCADE to models.ForeignKey in the documentation (#4614) 2016-10-22 16:37:23 +01:00
Tom Christie
3b9afb571b Version 3.5.0 (#4596) 2016-10-20 16:25:40 +01:00
Tom Christie
2395fb5386 Deprecate DjangoFilter backend (#4593)
Deprecate the built-in `rest_framework.filters.DjangoFilterBackend` in favour of the third-party `django_filters.rest_framework.DjangoFilterBackend`.
2016-10-20 10:47:09 +01:00
Alex Poleha
a83997e1ed Removed incorrect line from generic-views.md (#4583) 2016-10-14 11:29:48 +01:00
Tom Christie
a3802504a0 Error codes (#4550)
Add error codes to `APIException`
2016-10-11 10:25:21 +01:00
Steven Johns
072d14c2e1 Corrected artist and album_name
`The Roots` are the band: https://en.wikipedia.org/wiki/The_Roots

`Undun` is their album: https://en.wikipedia.org/wiki/Undun
2016-10-11 11:20:48 +11:00
Tom Christie
0dec36eb41 Version 3.5 (#4525)
* Start test case

* Added 'requests' test client

* Address typos

* Graceful fallback if requests is not installed.

* Add cookie support

* Tests for auth and CSRF

* Py3 compat

* py3 compat

* py3 compat

* Add get_requests_client

* Added SchemaGenerator.should_include_link

* add settings for html cutoff on related fields

* Router doesn't work if prefix is blank, though project urls.py handles prefix

* Fix Django 1.10 to-many deprecation

* Add django.core.urlresolvers compatibility

* Update django-filter & django-guardian

* Check for empty router prefix; adjust URL accordingly

It's easiest to fix this issue after we have made the regex.  To try
to fix it before would require doing something different for List vs
Detail, which means we'd have to know which type of url we're
constructing before acting accordingly.

* Fix misc django deprecations

* Use TOC extension instead of header

* Fix deprecations for py3k

* Add py3k compatibility to is_simple_callable

* Add is_simple_callable tests

* Drop python 3.2 support (EOL, Dropped by Django)

* schema_renderers= should *set* the renderers, not append to them.

* API client (#4424)

* Fix release notes

* Add note about 'User account is disabled.' vs 'Unable to log in'

* Clean up schema generation (#4527)

* Handle multiple methods on custom action (#4529)

* RequestsClient, CoreAPIClient

* exclude_from_schema

* Added 'get_schema_view()' shortcut

* Added schema descriptions

* Better descriptions for schemas

* Add type annotation to schema generation

* Coerce schema 'pk' in path to actual field name

* Deprecations move into assertion errors

* Use get_schema_view in tests

* Updte CoreJSON media type

* Handle schema structure correctly when path prefixs exist. Closes #4401

* Add PendingDeprecation to Router schema generation.

* Added SCHEMA_COERCE_PATH_PK and SCHEMA_COERCE_METHOD_NAMES

* Renamed and documented 'get_schema_fields' interface.
2016-10-10 13:03:46 +01:00
Manjit Kumar
d49e26f127 add drf-url-filters in third party filtering resources and fixed typo (#4548) 2016-10-10 12:35:38 +01:00
Rowan Seymour
883efbc19f Case insensitive uniqueness validation (#4534) 2016-10-04 13:44:50 +01:00
Danilo Bargen
1b882f7281 Add drf-dynamic-fields to third party packages (#4530) 2016-09-30 17:06:36 +01:00
Manjit Kumar
73fd1ff4e7 add drf-url-filters app to django-rest-framework in filtering docs (#4528)
- enabling validtions on incoming query params with the ease of adding new filters as easy as adding a new key in a dict.
2016-09-30 12:02:23 +01:00
Tom Christie
e7fd166048 Docs tweaks 2016-09-29 21:29:21 +01:00
Jozef Knaperek
76cc2f0319
Rename an invalid reference to BasicToken in the docs 2016-09-19 21:52:06 +02:00
Jeff Willette
a68b37d8bc Update to correct location of reverse relation doc (#4481) 2016-09-13 09:31:48 +01:00
Xavier Ordoquy
e91ffc87cb Ignore empty args in the MultipleFieldLookupMixin definition - Closes #4484 2016-09-13 07:21:10 +02:00
Jakub Moliński
80bd3b9722 [documentation] Throttling random request code example fix (#4451) 2016-08-30 10:37:48 +01:00
Robert Jensen
59ca61abcd Add django-rest-framework-roles to third party packages in permissions docs (#4417) 2016-08-19 11:44:31 +01:00
Wim Glenn
0a48d21e09 fix a b0rked code example in the permissions section of api guide 2016-08-12 14:33:35 -05:00
Kyle Hornberg
3698d9ea2e Update permissions.md (#4381) 2016-08-10 17:23:10 +01:00
Daniel Hahler
378b04eeaa Fix handling of ALLOWED_VERSIONS and no DEFAULT_VERSION (#4370)
When only `ALLOWED_VERSIONS` but no `DEFAULT_VERSION` is specified, a
version should be enforced.
2016-08-10 15:19:56 +01:00
Tom Christie
febaa4db00 Add import in docs. [ci skip] 2016-08-08 09:28:15 +01:00
Marlon
672e5a0f96 Fix minor typo 2016-08-05 11:57:43 -07:00
Corentin Smith
54096dc22f Add imports in validators docs (#4355) 2016-08-04 22:06:35 +01:00
Tom Christie
e37619f741 Serializer defaults should not be included in partial updates. (#4346)
Serializer default values should not be included in partial updates
2016-08-02 13:05:12 +01:00
Jaap Roes
5b071ab35e Remove note about Django 1.3 (#4334)
Remove note about Django 1.3
2016-08-01 12:05:47 +01:00