Tilmann Becker
d38b94fd74
Fix URL pattern parsing in schema generation ( #5689 )
...
* Fix url parsing in schema generation
- Call `str(pattern)` to get non-escaped route
- Strip converters from path to comply with uritemplate format.
Background: https://github.com/encode/django-rest-framework/issues/5675#issuecomment-352829363
Fixes #5675
2017-12-20 09:10:28 +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
Pavlin Gergov
21a9740156
Fix typo in docstring ( #5678 )
2017-12-19 08:45:33 +01:00
Ryan P Kilby
d12005cf90
Add 'dist' build ( #5656 )
2017-12-14 11:48:03 +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
Carlton Gibson
4a200d5e66
Fix override_settings
compat ( #5668 )
...
* Add test checking override_settings compat
* Refresh APISettings, rather than replace
Fix suggested by @daggaz https://github.com/encode/django-rest-framework/issues/2466#issuecomment-344297213
2017-12-14 10:33:48 +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
daba5e9ba5
Fix Serializer.data when provided invalid 'data' ( #5646 )
...
* Test serializer/API renderer for invalid datatype
* Fix Serializer.data with invalid input datatype
2017-12-04 08:39:55 +01:00
Xavier Ordoquy
b01ec450b2
Merge pull request #5645 from jdufresne/dj20
...
Update to use the Django 2.0 release in tox.ini
2017-12-03 22:04:38 +01:00
Jon Dufresne
101d3d24f7
Update to use the Django 2.0 release in tox.ini
...
Was previously using a release candidate as the minimum version.
2017-12-03 10:35:34 -08:00
Ryan P Kilby
5f42cb7027
Add allow_null serialization output note ( #5641 )
2017-12-01 10:07:33 +01:00
Rômulo Oliveira
905a5579df
Non-required fields with 'allow_null=True' should not imply a default value ( #5639 )
...
Ref #5518 .
2017-12-01 09:54:25 +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
fc6b192b70
Fix readme, add to CI ( #5625 )
...
* Add readme build to CI
* Fix pandoc import in setup.py
* Replace sponsor HTML with markdown
This loses the image centering, but can be converted to RST.
* Fix README RST conversion
- Links do not render correctly inside italics
- Add hr between image caption and section, fixes markup on older
versions of pandoc.
2017-11-27 11:32:17 +01:00
Ryan P Kilby
abef84fb60
Fix packaging ( #5624 )
...
* Packaging should use manifest
* Add schema.js template to MANIFEST
2017-11-27 11:28:25 +01:00
Xavier Ordoquy
fc94fbd4e8
Merge pull request #5629 from akshar-raaj/fix_serializer_get_fields_documentation
...
Serializer._declared_fields enable modifying fields on a serializer
2017-11-27 10:27:26 +01:00
Akshar Raaj
224d8cfb9d
Serializer._declared_fields enable modifying fields on a serializer
...
instance without affecting every other serializer instance.
2017-11-27 13:38:18 +05:30
Xavier Ordoquy
c782376555
Merge pull request #5626 from rpkilby/update-reqs
...
Update test requirements
2017-11-26 12:03:41 +01:00
Ryan P Kilby
ddcb77be01
Add _pytest to .isort.cfg
2017-11-25 21:19:55 -05:00
Ryan P Kilby
5c19652080
Fix whitespace in imports
2017-11-25 21:10:30 -05:00
Ryan P Kilby
7b58a2c124
Fix bare except statements
2017-11-25 21:06:13 -05:00
Ryan P Kilby
eb61eb2b86
Update testing requirements
2017-11-25 21:04:07 -05: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
Ryan P Kilby
a91361dd2f
Perform type check on passed request argument ( #5618 )
...
* Add test for wrapped request instance
* Add 'request' argument type check to Request init
* Fix metadata tests' request object
2017-11-23 08:57:31 +01:00
Xavier Ordoquy
c2c9225782
Merge pull request #5619 from rpkilby/explicit-django20-support
...
Update Django 2.0 support
2017-11-23 07:12:04 +01:00
Ryan P Kilby
7a533cd8b8
Update README
2017-11-22 23:21:00 -05:00
Ryan P Kilby
bc28b0c74f
Remove django 2.0 from allowable failures in CI
2017-11-22 23:16:27 -05:00
Ryan P Kilby
1922dc6e73
Update Django to 2.0rc1
2017-11-22 23:16:07 -05:00
Sander Steffann
d71bd57b64
SchemaJSRenderer renders invalid Javascript ( #5607 )
...
* SchemaJSRenderer renders invalid Javascript
Under Py3 the base64.b64encode() method returns a binary object, which gets rendered as `b'...'` in schema.js. This results in the output becoming:
var coreJSON = window.atob('b'eyJf...'');
which is invalid Javascript. Because base64 only uses ASCII characters it is safe to decode('ascii') it. Under Py2 this will result in a unicode object, which is fine. Under Py3 it results in a string, which is also fine. This solves the problem and results in a working schema.js output.
* Add regression test for #5608
* Add regression test for #5608
* Apparently the linter on Travis wants the imports in a different order than on my box...
2017-11-22 15:47:03 +01:00
Ryan P Kilby
1a667f420d
Reimplement request attribute access w/ __getattr__ ( #5617 )
...
* Add tests for proxying WSGIRequest attributes in Request.
* Add request attribute exception test
* Reimplement request attribute access
2017-11-22 11:42:59 +01:00
Ryan P Kilby
ae88f5c55b
Minor cleanup for ModelSerializer tests ( #5598 )
...
* Replace assertRaises with assertRaisesMessage
* Remove outdated implicit Meta.fields test
* Simplify parent declared field test
2017-11-22 10:36:34 +01:00
Michał Bielawski
134a6f66f9
Fixed schema generation for filter backends ( #5613 )
2017-11-22 00:11:59 -05:00
Ryan P Kilby
a3df1c1199
Test Serializer exclude for declared fields ( #5599 )
...
* Test current behavior of exclude+declared field
* Assert declared fields are not present in exclude
2017-11-20 09:51:16 +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
Ryan P Kilby
2531998427
Rename test to reference correct issue ( #5610 )
2017-11-20 08:58:29 +01:00
Ryan P Kilby
9f66e8badd
Fix request body/POST access ( #5590 )
...
* Modernize middleware tests
* Added a failing test for #5582
* Set data ref on underlying django request
2017-11-15 20:58:37 +01:00