Commit Graph

2823 Commits

Author SHA1 Message Date
Jon Dufresne
565794bedc Replace virtualenv references with venv in the docs (#6636)
On Python 3, creating virtual environments is available through the
stdlib module venv.

https://docs.python.org/3/library/venv.html
2019-05-01 07:51:02 +02:00
Jon Dufresne
8687f6135f Remove references to Python 2 from the docs (#6635) 2019-05-01 07:50:28 +02: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
Jithesh Eriyakkadan Janardhanan
908236a576 Correct misspelled class name 2019-04-30 18:01:17 +05:30
Carlton Gibson
7f16ed7727 Correct version number in release notes. 2019-04-29 16:35:17 +02:00
Carlton Gibson
83d09c7bc5
Update version and release notes for v3.9.3. 2019-04-29 16:30:44 +02:00
David Sanders
95e28b2252
Fix typo in docs 2019-04-27 12:07:49 -07:00
Dmitry Alimov
1ac0f63aa9 Fix private attributes ignore in documentation (#6601) 2019-04-21 17:27:13 +01:00
Billy Rotich
f8c4e5079e Minor documentation fixes (#6581) 2019-04-13 15:02:19 +02:00
jozo
cceb416098 Link DRF Condition (cache headers) third party package. (#6557) 2019-04-04 11:31:08 +02:00
Matt Hegarty
f34a0a4e6a Minor documentation fixes (#6543) 2019-03-28 23:32:25 -07:00
Jabi
ac19c69539 Corrected typo in permissions docs. (#6540) 2019-03-28 11:45:13 +01:00
Ryan Siemens
d2d1888217 Document DateTimeField default_timezone argument (#6469) 2019-03-12 21:15:12 -07:00
Matt Hegarty
6f24c21cfb Fixed typo: /Janurary/January/ (#6506) 2019-03-12 12:46:02 +01:00
Tom Christie
bcdfcf7e49
Sponsor updates (#6495) 2019-03-07 11:00:50 +00:00
Luoxzhg
dfc277cce6 Corrected tutorial 1 example renderer output to bytes. (#6486) 2019-03-05 11:50:13 +01:00
SrdjanCosicPrica
ac7b20cca2 Fix get_search_fields example (#6487) 2019-03-04 14:46:14 +01:00
Carlton Gibson
0ab527a3df Updated release notes for v3.9.2 2019-03-03 20:16:16 +01:00
Carlton Gibson
94593b3a50
Introduce RemovedInDRF…Warning classes to simplify deprecations. (#6480)
Closes #6290.
2019-03-03 09:20:45 +01:00
Carlton Gibson
31bf597081 Updated note on BooleanField required kwarg generation.
Closes #6474.
2019-03-01 12:48:12 +01:00
Ramon de Jezus
1dc81acb4d Fixed a typo in pagination docs. (#6475) 2019-02-28 15:18:58 +01:00
Adrien Brunet
2daf6f1341 Add negation ~ operator to permissions composition (#6361) 2019-02-25 15:33:40 +01:00
Ryan P Kilby
286cf57a8d
Update filtering docs (#6467) 2019-02-22 10:58:01 -08:00
Carlton Gibson
d932baa646
Corrected link to ajax-form library.
Closes #6465.
2019-02-22 11:11:52 +01:00
Allan Reyes
d110454d4c Added SearchFilter.get_search_fields() hook. (#6279) 2019-02-19 17:18:14 +01:00
Carlton Gibson
6de33effd6
Doc’d requirement to implement has_object_permission() (#6462)
…when using provided permission classes.

Closes #6402.
2019-02-19 16:18:55 +01:00
Michael Käufl
f9401f5ff0
Fix Python 3 compat in documentation 2019-02-16 15:47:13 +01:00
Carlton Gibson
65f5c11a5b Document support for Django 2.2. 2019-02-14 15:57:20 +01:00
johnthagen
9f66fc9a7c
Fix typo in caching docs 2019-02-13 19:00:16 -05:00
briwa
dc6b3bf42e Fix tutorial instruction to also add pyyaml (#6443) 2019-02-07 09:10:11 +01:00
Tanner Prestegard
abf07e672e Fix throttling documentation for specifying alternate caches (#6446) 2019-02-06 21:26:09 +01:00
carlfarrington
3c5c61f33b fix for a couple of missing words (#6444) 2019-02-06 09:35:04 +00:00
jhtimmins
7c6e34c14f Fix typo: 'what' to 'that' (#6437) 2019-02-02 14:49:58 +01:00
Daniel Roseman
7310411533 Updated example models to use __str__ in relations docs. (#6433) 2019-02-01 19:50:27 +01:00
Carlton Gibson
9ff0092061 Added release note stub for v3.9.2. 2019-01-24 16:25:47 +01:00
Marcin Popławski
4c2af75957 Updated links to djangorestframework-api-key project. (#6414) 2019-01-24 16:10:11 +01:00
Carlton Gibson
0ac20a3d8e
Updated filtering docs to use filterset_fields. (#6415)
Closes #6411.
2019-01-21 21:00:54 +01:00
Tom Christie
c049777dc7 Add missing item in 3.9.1 release notes 2019-01-16 13:39:36 +00:00
Tom Christie
453196e9c3
Version 3.9.1 (#6405)
* Version 3.9.1

* Upgrade bootstrap

* Release notes for 3.9.1
2019-01-16 13:27:35 +00:00
johnthagen
9c408b296b Remove reference to deprecated drf-openapi package (#6398) 2019-01-08 12:47:09 +00:00
Matt Wiens
e0ae975e5c Fix a badly formatted title in docs (#6089)
While having code blocks in a title is valid Markdown, MkDocs does not
render it as expected. This removes a code block placed in a title.
2019-01-08 12:07:00 +00:00
johnthagen
a49d744d5e Fix OpenAPI links (#6382) 2019-01-08 11:56:42 +00:00
johnthagen
0860ef9eee Update quickstart to Django 2.0 routing syntax (#6385)
* Update quickstart to Django 2.0 routing syntax

* Remove uneccessary raw string identifiers

* Correctly import path function

* Fix import path to use django.urls

This is what is prescribed in the Django 2.1 tutorial
2019-01-08 11:53:51 +00:00
Adrien Brunet
4863a24451 Fix links 404/302/303 in docs/community (#6387)
* Fix links 404/302/303

* Fix machinalis links in docs

* Fix kickstarter links in documentation

* Fix kickstarter links in documentation

* Fix kickstarter links in documentation - dropping links when broken
2019-01-08 11:15:53 +00:00
johnthagen
7749e4e3be Make code snippet Python 3 compatible (#6377) 2019-01-04 18:00:38 -08:00
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
Carlton Gibson
63e6bbfd36 Note that only latest patches of Python & Django are supported. (#6370)
Fixes #6367.
2018-12-20 13:41:54 +00:00
Dario Cangialosi, Coder
fa57fb8aeb Use HTTPS URL example for git clone commands. (#6134) 2018-12-19 19:28:03 +01:00
Cyrus Ghazanfar
7ad5bdb669 Adjusted login template override example (#6265) 2018-12-19 15:25:34 +01:00
Jonathan Berger
1348bdc48a Fixed quickstart.md typos (#6348) 2018-12-19 14:50:14 +01:00
Xavier Ordoquy
a52087b1b8
Merge pull request #6362 from adrienbrunet/typo
docs: typo in permissions (double space)
2018-12-19 14:34:18 +01:00
Adrien Brunet
c4a021185f docs: typo in permissions (double space) 2018-12-18 13:03:03 +01:00
Tom Christie
2aecef3460 Update kloudless logo 2018-12-18 11:23:08 +00:00
Tom Christie
3453d65655 Update Kloudless logo 2018-12-18 11:18:40 +00:00
Dan Wilson
ef61288d77 Remove mention of djangorestframework-jwt (#6353)
Follow-up to https://github.com/encode/django-rest-framework/pull/6138
2018-12-13 21:01:10 +00: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
Tom Christie
2084555fbe Update Lights On logo 2018-11-16 15:41:38 +00:00
Mice Pápai
d0369b27cd update docs/api-guide/serializers.md: consistency (#6320) 2018-11-15 14:44:54 +00:00
Tom Christie
2c0b2bd44e
Add 'Lights On Software' (#6319)
* Add 'Lights On Software'

* Fix link
2018-11-15 13:52:24 +00:00
Tom Christie
588c6976d4
Delete lightson.png 2018-11-15 12:06:47 +00:00
Tom Christie
bc36cf5e2b
Lights On 2018-11-15 12:06:18 +00:00
Tom Christie
f73b4896b8
Lights On Software 2018-11-15 12:04:06 +00:00
Stan Fateev
f7d2839562 Typo fix in the release announcement (#6318) 2018-11-14 07:50:28 +01:00
Stephen Finucane
fae7e91728 docs: Remove references to drf-openapi (#6272)
This has been EOL'd in favour of drf-yasg [1].

[1] https://github.com/limdauto/drf_openapi/commit/1673c6e0

Signed-off-by: Stephen Finucane <stephen@that.guru>
2018-11-03 15:57:47 +01:00
Tom Snee
d59a130168 Fixes an import statement in chapter 5 of the tutorial. (#6267) 2018-11-02 08:48:39 -07:00
ilmucio
40da2a21ef Update authentication.md (#6291) 2018-10-29 15:43:06 -07:00
Zach Wernberg
67e99a29b8 Fix typo in release-notes.md (#6285) 2018-10-29 10:03:34 -07:00
Tano Abeleyra
9d001cd84c Fix typo in testing.md (#6257) 2018-10-18 15:42:52 -07:00
Tom Christie
2c9c0f1b7f
Version 3.9 (#6247)
* Release notes to 5174a26ec9

* Update version for v3.9.0

* Removed exclude_from_schema per deprecation policy.

* Updated list_route() and detail_route() deprecations.

* Weakened to PendingDeprecationWarning for `base_name`

cc @rpkilby.

* Add (beginning of) 3.9 release announcement.

@tomchristie: Input on OpenAPI and What’s Next very welcome! :)

* Add announcement section for Extra Actions in Browsable API

* Update release notes and add deprecation note for Django Guardian backend.

* Add release note for #6073

* Add release notes to dd19a44583

* Adding release notes

* Update 3.9 announcement

* Add Oct 18 release date
2018-10-18 10:38:46 +01:00
Tom Christie
28040b3bda
Upgrade Auklet to premium (#6244) 2018-10-15 17:31:36 +01:00
Tom Christie
1c3f796219
Add kloudless as a new premium sponsor (#6241) 2018-10-11 14:48:05 +01:00
Tom Christie
ebc5393776 Add spacing around kloudless logo 2018-10-11 14:06:33 +01:00
Tom Christie
317d2489e4 Add Kloudless logo 2018-10-11 14:03:02 +01:00
Daniel Bate
5feb835929 Feature/action docs sections (#6060)
* added ability to add sections to custom action documentation

* added tests to cover docs sections in custom actions

* added method specific docs test for action mapping

* added docs for custom action documentation
2018-10-10 10:29:29 +02: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
Jufe Brown-Tsai
18ad3290ef Documentation fix for django-admin commands (#6232)
* fix django-admin commands on quickstart doc

* fix django-admin commands on tutorial/1-serialization doc

* fix django-admin command on readme

* fix django-admin command on docs/community/project-management.md
2018-10-03 16:16:52 +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
Tom Christie
20a7734dce Bring docs license text up to date 2018-10-02 11:12:31 +01: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
Tom Christie
5f1f2b1003 Higher res. load impact logo 2018-09-11 12:55:53 +01:00
Tom Christie
4033f0c6b3
Add Load Impact to premium sponsors (#6176) 2018-09-11 11:40:47 +01:00
Ryan P Kilby
7f77340b33
Add Python 3.7 support (#6141) 2018-09-10 21:44:23 -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
Michael
2c992f09da Mention Django 2.1 compat where missing (#6158) 2018-09-04 11:33:42 -07:00
Craig Johnson
90ed2c1ef7 Small grammar correction in quickstart. (#6121)
Just felt the sentence could use some improving.
2018-08-13 10:32:17 +01:00
Shabda Raaj
8f9b875456 Add building with drf book (#6102)
* Added building APIs with Django and DRF book

* Added book cover
2018-08-01 16:43:09 +01:00
dengshilong
0484d01aae Fix typo error, Link to Field (#6078) 2018-07-10 11:03:39 +02:00
Eze Sunday
a0277919f0 Fix grammar mistake in html-and-forms.md (#6070) 2018-07-08 16:11:05 -04:00
Ryan P Kilby
a628a2dbce Drop Django 1.10 support (#5657)
* Remove Django 1.10 from CI

* Remove Django 1.10 compat code
2018-07-06 12:14:31 +02:00
Ryan P Kilby
99ca078ebb Add "Community" section to docs, minor cleanup (#5993)
* Add 'Community' tab to navigation, move articles

* Drop DRF 2.x announcements and the docs note

* Drop embedded tutorial/guide/topics links

* Conver mixture of tabs/spaces => spaces

* Fix topics/community links
2018-07-06 11:28:18 +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
Chris Shyi
d9f541836b Update to Django 2.0 Routing Syntax (#6049) 2018-06-22 10:28:59 +02:00
Çağıl
8f55cd8db5 Fix url for group_names action example (#6036) 2018-06-21 04:29:05 -04:00
William S. Vincent
feffa109a8 Add REST APIs with Django book (#6033)
Just published book dedicated to DRF.
2018-06-20 00:24:26 +01: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
Jon Dufresne
89fb0b0f99 Update incorrect PyPI URL to register an account
To register an account on PyPI, the URL is
https://pypi.org/account/register/, which changed after the move to
pypi.org.
2018-06-09 19:09:31 -07: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
Tamirlan Omarov
edfcbe076d Added pagination section to the quickstart page (#5987) 2018-05-21 13:32:07 +01:00
John Franey
f20e282d15 Update documenting-your-api.md (#5991)
Fix link to "Schemas as Documentation: Examples"
2018-05-17 00:36:41 -04:00
Ari Rouvinen
45acfe05b4 Add missing comma (#5978) 2018-05-08 09:15:59 +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
Chris Shyi
fc2143207b Update tutorial to Django 2.0 routing syntax (#5963) (#5964)
Update tutorial to Django 2.0 routing syntax
2018-05-08 09:06:14 +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
Jochen Wersdörfer
c4676510fd Adjusted client JWT example (#5944) 2018-04-20 15:33:59 +02:00
Michael
e4b63f70d6 [docs] Remove leftover from former python 3.2/3.3 support (#5947) 2018-04-20 09:22:36 +02:00
Jon Dufresne
8c47a875ec Update all pypi.python.org URLs to pypi.org (#5942)
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
2018-04-19 08:36:18 +02:00
Tom Christie
f3d41625f5
Add Cadre as a premium sponsor (#5941) 2018-04-18 10:33:02 +01:00
Arne Schauf
d5fe1f66ac Fix a typo in the 3.8 announcement (#5940) 2018-04-18 06:36:03 +01:00
David Jean Louis
1c53fd3212 Added djangorestframework-datatables to third-party packages (#5931) 2018-04-10 13:25:20 +01: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
Anna Ossowski
0178d3063d
Added 3.8 release + updated monthly report link 2018-04-08 21:47:50 +02:00
Carlton Gibson
fb802c0910
Update version and notes for 3.8.2 release. (#5923) 2018-04-06 15:41:11 +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
bc353452f4
Bump version and release notes for 3.8.1 (#5916) 2018-04-04 21:10:34 +02:00
Ryan P Kilby
cba426b34c Use old url_name behavior in route decorators (#5915)
* Wrap action decorator for old url_name behavior
2018-04-04 20:50:42 +02:00
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
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
Ryan P Kilby
af460d2b69 Add PR 5376 to release notes 2017-09-01 13:37:06 -04:00
Vadim Laletin
c0475d059d Update link to drf-writable-nested repository in third-party serializers 2017-08-29 10:39:52 +07:00
Ashish Patil
26d4977cd0 ~api-clients documentation: installation code fix 2017-08-24 15:06:48 +04:00
Scott Kelly
807b9c716c Fix doc Response data attribute description 2017-08-23 21:30:56 -05:00
qwhex
9b829bec2d Update 2-requests-and-responses.md: consistency
Made it consistent with Part I. Catched it when commiting the code into my local tutorial repo.
2017-08-22 20:37:31 +02:00
Carlton Gibson
0a0bb6a871 Update release notes
For the last minute #5346
2017-08-21 20:33:51 +02:00
Carlton Gibson
81527a2863 Release notes for 3.6.4 2017-08-21 11:50:00 +02:00
Carlton Gibson
43c7af0bb5 Adjust ListField & DictField signature docs (#5333)
Closes #5301
2017-08-17 10:06:09 +01:00