mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-09-19 18:52:29 +03:00
Merge 3320e0da31
into 2001878298
This commit is contained in:
commit
0ad049ef4b
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,7 +1,7 @@
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Discussions
|
- name: Discussions
|
||||||
url: https://github.com/encode/django-rest-framework/discussions
|
url: https://github.com/django-commons/django-rest-framework/discussions
|
||||||
about: >
|
about: >
|
||||||
The "Discussions" forum is where you want to start. 💖
|
The "Discussions" forum is where you want to start. 💖
|
||||||
Please note that at this point in its lifespan, we consider Django REST framework to be feature-complete.
|
Please note that at this point in its lifespan, we consider Django REST framework to be feature-complete.
|
||||||
|
|
101
.github/workflows/release.yml
vendored
Normal file
101
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
name: Publish Python 🐍 distribution 📦 to PyPI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
# Order matters, the last rule that applies to a tag
|
||||||
|
# is the one that takes effect:
|
||||||
|
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-including-and-excluding-branches-and-tags
|
||||||
|
- '*'
|
||||||
|
# There should be no dev tags created, but to be safe,
|
||||||
|
# let's not publish them.
|
||||||
|
- '!*.dev*'
|
||||||
|
|
||||||
|
env:
|
||||||
|
PYPI_URL: https://pypi.org/p/djangorestframework
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: Build distribution 📦
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v6
|
||||||
|
with:
|
||||||
|
python-version: "3.x"
|
||||||
|
- name: Install pypa/build
|
||||||
|
run:
|
||||||
|
python3 -m pip install build --user
|
||||||
|
- name: Build a binary wheel and a source tarball
|
||||||
|
run: python3 -m build
|
||||||
|
- name: Store the distribution packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: python-package-distributions
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
publish-to-pypi:
|
||||||
|
name: >-
|
||||||
|
Publish Python 🐍 distribution 📦 to PyPI
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment:
|
||||||
|
name: pypi
|
||||||
|
url: ${{ env.PYPI_URL }}
|
||||||
|
permissions:
|
||||||
|
id-token: write # IMPORTANT: mandatory for trusted publishing
|
||||||
|
steps:
|
||||||
|
- name: Download all the dists
|
||||||
|
uses: actions/download-artifact@v5
|
||||||
|
with:
|
||||||
|
name: python-package-distributions
|
||||||
|
path: dist/
|
||||||
|
- name: Publish distribution 📦 to PyPI
|
||||||
|
uses: pypa/gh-action-pypi-publish@release/v1.13
|
||||||
|
|
||||||
|
github-release:
|
||||||
|
name: >-
|
||||||
|
Sign the Python 🐍 distribution 📦 with Sigstore
|
||||||
|
and upload them to GitHub Release
|
||||||
|
needs:
|
||||||
|
- publish-to-pypi
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write # IMPORTANT: mandatory for making GitHub Releases
|
||||||
|
id-token: write # IMPORTANT: mandatory for sigstore
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Download all the dists
|
||||||
|
uses: actions/download-artifact@v5
|
||||||
|
with:
|
||||||
|
name: python-package-distributions
|
||||||
|
path: dist/
|
||||||
|
- name: Sign the dists with Sigstore
|
||||||
|
uses: sigstore/gh-action-sigstore-python@v3.0.1
|
||||||
|
with:
|
||||||
|
inputs: >-
|
||||||
|
./dist/*.tar.gz
|
||||||
|
./dist/*.whl
|
||||||
|
- name: Create GitHub Release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
|
run: >-
|
||||||
|
gh release create
|
||||||
|
'${{ github.ref_name }}'
|
||||||
|
--repo '${{ github.repository }}'
|
||||||
|
--notes ""
|
||||||
|
- name: Upload artifact signatures to GitHub Release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
|
# Upload to GitHub Release using the `gh` CLI.
|
||||||
|
# `dist/` contains the built packages, and the
|
||||||
|
# sigstore-produced signatures and certificates.
|
||||||
|
run: >-
|
||||||
|
gh release upload
|
||||||
|
'${{ github.ref_name }}' dist/**
|
||||||
|
--repo '${{ github.repository }}'
|
103
.github/workflows/test_release.yml
vendored
Normal file
103
.github/workflows/test_release.yml
vendored
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
name: Test Python 🐍 distribution 📦 to TestPyPI
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
iteration:
|
||||||
|
description: 'A unique iteration for the run. The tag will be suffixed with .devyyyymmdd<iteration>'
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
default: "0"
|
||||||
|
schedule:
|
||||||
|
# Run the second day of every month.
|
||||||
|
- cron: "12 3 2 * *"
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
|
||||||
|
env:
|
||||||
|
PYPI_TEST_URL: https://test.pypi.org/p/djangorestframework
|
||||||
|
# The environment key that overrides the version number
|
||||||
|
DEV_VERSION_ENV_KEY: BEST_PRACTICES_VERSION_DEV
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-dev-version:
|
||||||
|
# Generate the dev version suffix based on the current date.
|
||||||
|
# Tag name:
|
||||||
|
# <version>.dev<yyyymmdd><iteration>
|
||||||
|
name: Create dev version string
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
dev_version: ${{ steps.output-dev-version.outputs.dev_version }}
|
||||||
|
steps:
|
||||||
|
- name: Set date suffix
|
||||||
|
id: set-date
|
||||||
|
run: echo "suffix=dev$(date +%Y%m%d)" >> $GITHUB_ENV
|
||||||
|
- name: Determine Iteration Value
|
||||||
|
id: set-iteration
|
||||||
|
# If the action is running on a schedule, default iteration to 0
|
||||||
|
run: |
|
||||||
|
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
|
||||||
|
echo "iteration=${{ github.event.inputs.iteration }}" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "iteration=0" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
- name: Output dev version
|
||||||
|
id: output-dev-version
|
||||||
|
# Don't output a dev version if the push was for a tag.
|
||||||
|
run: |
|
||||||
|
if [[ "${{ startsWith(github.ref, 'refs/tags') }}" == "true" ]]; then
|
||||||
|
echo "dev_version=" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "dev_version=${{ env.suffix }}${{ env.iteration }}" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: Build distribution 📦
|
||||||
|
needs:
|
||||||
|
- create-dev-version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.x"
|
||||||
|
- name: Install pypa/build
|
||||||
|
run:
|
||||||
|
python3 -m pip install build --user
|
||||||
|
- name: Build a binary wheel and a source tarball
|
||||||
|
env:
|
||||||
|
DEV_VERSION: ${{needs.create-dev-version.outputs.dev_version}}
|
||||||
|
run: ${{ env.DEV_VERSION_ENV_KEY }}="${{ env.DEV_VERSION }}" python3 -m build
|
||||||
|
- name: Store the distribution packages
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: python-package-distributions
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
publish-to-testpypi:
|
||||||
|
name: Publish Python 🐍 distribution 📦 to TestPyPI
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
environment:
|
||||||
|
name: testpypi
|
||||||
|
url: ${{ env.PYPI_TEST_URL }}
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
id-token: write # IMPORTANT: mandatory for trusted publishing
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Download all the dists
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: python-package-distributions
|
||||||
|
path: dist/
|
||||||
|
- name: Publish distribution 📦 to TestPyPI
|
||||||
|
uses: pypa/gh-action-pypi-publish@release/v1.12
|
||||||
|
with:
|
||||||
|
repository-url: https://test.pypi.org/legacy/
|
||||||
|
skip-existing: true
|
3
CODE_OF_CONDUCT.md
Normal file
3
CODE_OF_CONDUCT.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# Code of Conduct
|
||||||
|
|
||||||
|
Django REST Framework utilizes the [Django Commons Code of Conduct](https://github.com/django-commons/membership/blob/main/CODE_OF_CONDUCT.md).
|
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
At this point in its lifespan we consider Django REST framework to be essentially feature-complete. We may accept pull requests that track the continued development of Django versions, but would prefer not to accept new features or code formatting changes.
|
At this point in its lifespan we consider Django REST framework to be essentially feature-complete. We may accept pull requests that track the continued development of Django versions, but would prefer not to accept new features or code formatting changes.
|
||||||
|
|
||||||
Apart from minor documentation changes, the [GitHub discussions page](https://github.com/encode/django-rest-framework/discussions) should generally be your starting point. Please only open a pull request if you've been recommended to do so **after discussion**.
|
Apart from minor documentation changes, the [GitHub discussions page](https://github.com/django-commons/django-rest-framework/discussions) should generally be your starting point. Please only open a pull request if you've been recommended to do so **after discussion**.
|
||||||
|
|
||||||
The [Contributing guide in the documentation](https://www.django-rest-framework.org/community/contributing/) gives some more information on our process and code of conduct.
|
The [Contributing guide in the documentation](https://www.django-rest-framework.org/community/contributing/) gives some more information on our process and code of conduct.
|
||||||
|
|
|
@ -177,8 +177,8 @@ For questions and support, use the [REST framework discussion group][group], or
|
||||||
|
|
||||||
Please see the [security policy][security-policy].
|
Please see the [security policy][security-policy].
|
||||||
|
|
||||||
[build-status-image]: https://github.com/encode/django-rest-framework/actions/workflows/main.yml/badge.svg
|
[build-status-image]: https://github.com/django-commons/django-rest-framework/actions/workflows/main.yml/badge.svg
|
||||||
[build-status]: https://github.com/encode/django-rest-framework/actions/workflows/main.yml
|
[build-status]: https://github.com/django-commons/django-rest-framework/actions/workflows/main.yml
|
||||||
[coverage-status-image]: https://img.shields.io/codecov/c/github/encode/django-rest-framework/main.svg
|
[coverage-status-image]: https://img.shields.io/codecov/c/github/encode/django-rest-framework/main.svg
|
||||||
[codecov]: https://codecov.io/github/encode/django-rest-framework?branch=main
|
[codecov]: https://codecov.io/github/encode/django-rest-framework?branch=main
|
||||||
[pypi-version]: https://img.shields.io/pypi/v/djangorestframework.svg
|
[pypi-version]: https://img.shields.io/pypi/v/djangorestframework.svg
|
||||||
|
@ -223,4 +223,4 @@ Please see the [security policy][security-policy].
|
||||||
[image]: https://www.django-rest-framework.org/img/quickstart.png
|
[image]: https://www.django-rest-framework.org/img/quickstart.png
|
||||||
|
|
||||||
[docs]: https://www.django-rest-framework.org/
|
[docs]: https://www.django-rest-framework.org/
|
||||||
[security-policy]: https://github.com/encode/django-rest-framework/security/policy
|
[security-policy]: https://github.com/django-commons/django-rest-framework/security/policy
|
||||||
|
|
|
@ -220,5 +220,5 @@ The following is an example of a rate throttle, that will randomly throttle 1 in
|
||||||
[identifying-clients]: http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#Multiple_Proxies_in_front_of_the_cluster
|
[identifying-clients]: http://oxpedia.org/wiki/index.php?title=AppSuite:Grizzly#Multiple_Proxies_in_front_of_the_cluster
|
||||||
[cache-setting]: https://docs.djangoproject.com/en/stable/ref/settings/#caches
|
[cache-setting]: https://docs.djangoproject.com/en/stable/ref/settings/#caches
|
||||||
[cache-docs]: https://docs.djangoproject.com/en/stable/topics/cache/#setting-up-the-cache
|
[cache-docs]: https://docs.djangoproject.com/en/stable/topics/cache/#setting-up-the-cache
|
||||||
[gh5181]: https://github.com/encode/django-rest-framework/issues/5181
|
[gh5181]: https://github.com/django-commons/django-rest-framework/issues/5181
|
||||||
[race]: https://en.wikipedia.org/wiki/Race_condition#Data_race
|
[race]: https://en.wikipedia.org/wiki/Race_condition#Data_race
|
||||||
|
|
|
@ -957,9 +957,9 @@ The 3.1 release is planned to address improvements in the following components:
|
||||||
|
|
||||||
The 3.2 release is planned to introduce an alternative admin-style interface to the browsable API.
|
The 3.2 release is planned to introduce an alternative admin-style interface to the browsable API.
|
||||||
|
|
||||||
You can follow development on the GitHub site, where we use [milestones to indicate planning timescales](https://github.com/encode/django-rest-framework/milestones).
|
You can follow development on the GitHub site, where we use [milestones to indicate planning timescales](https://github.com/django-commons/django-rest-framework/milestones).
|
||||||
|
|
||||||
[kickstarter]: https://www.kickstarter.com/projects/tomchristie/django-rest-framework-3
|
[kickstarter]: https://www.kickstarter.com/projects/tomchristie/django-rest-framework-3
|
||||||
[sponsors]: https://www.django-rest-framework.org/community/kickstarter-announcement/#sponsors
|
[sponsors]: https://www.django-rest-framework.org/community/kickstarter-announcement/#sponsors
|
||||||
[mixins.py]: https://github.com/encode/django-rest-framework/blob/main/rest_framework/mixins.py
|
[mixins.py]: https://github.com/django-commons/django-rest-framework/blob/main/rest_framework/mixins.py
|
||||||
[django-localization]: https://docs.djangoproject.com/en/stable/topics/i18n/translation/#localization-how-to-create-language-files
|
[django-localization]: https://docs.djangoproject.com/en/stable/topics/i18n/translation/#localization-how-to-create-language-files
|
||||||
|
|
|
@ -143,6 +143,6 @@ continued development by **[signing up for a paid plan][funding]**.
|
||||||
|
|
||||||
*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), [ESG](https://software.esg-usa.com/), [Rollbar](https://rollbar.com/?utm_source=django&utm_medium=sponsorship&utm_campaign=freetrial), [Cadre](https://cadre.com), [Kloudless](https://hubs.ly/H0f30Lf0), and [Lights On Software](https://lightsonsoftware.com).*
|
*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), [ESG](https://software.esg-usa.com/), [Rollbar](https://rollbar.com/?utm_source=django&utm_medium=sponsorship&utm_campaign=freetrial), [Cadre](https://cadre.com), [Kloudless](https://hubs.ly/H0f30Lf0), and [Lights On Software](https://lightsonsoftware.com).*
|
||||||
|
|
||||||
[legacy-core-api-docs]:https://github.com/encode/django-rest-framework/blob/3.14.0/docs/coreapi/index.md
|
[legacy-core-api-docs]:https://github.com/django-commons/django-rest-framework/blob/3.14.0/docs/coreapi/index.md
|
||||||
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
||||||
[funding]: funding.md
|
[funding]: funding.md
|
||||||
|
|
|
@ -52,4 +52,4 @@ aliases = serializers.ListField(child=serializers.CharField())
|
||||||
|
|
||||||
This change has been made because using positional arguments here *does not* result in the expected behaviour.
|
This change has been made because using positional arguments here *does not* result in the expected behaviour.
|
||||||
|
|
||||||
See Pull Request [#7632](https://github.com/encode/django-rest-framework/pull/7632) for more details.
|
See Pull Request [#7632](https://github.com/django-commons/django-rest-framework/pull/7632) for more details.
|
||||||
|
|
|
@ -34,7 +34,7 @@ Calling `serializer_instance.is_valid(True)` is no longer acceptable syntax.
|
||||||
If you'd like to use the `raise_exception` argument, you must use it as a
|
If you'd like to use the `raise_exception` argument, you must use it as a
|
||||||
keyword argument.
|
keyword argument.
|
||||||
|
|
||||||
See Pull Request [#7952](https://github.com/encode/django-rest-framework/pull/7952) for more details.
|
See Pull Request [#7952](https://github.com/django-commons/django-rest-framework/pull/7952) for more details.
|
||||||
|
|
||||||
## `ManyRelatedField` supports returning the default when the source attribute doesn't exist.
|
## `ManyRelatedField` supports returning the default when the source attribute doesn't exist.
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ Previously, if you used a serializer field with `many=True` with a dot notated s
|
||||||
that didn't exist, it would raise an `AttributeError`. Now it will return the default or be
|
that didn't exist, it would raise an `AttributeError`. Now it will return the default or be
|
||||||
skipped depending on the other arguments.
|
skipped depending on the other arguments.
|
||||||
|
|
||||||
See Pull Request [#7574](https://github.com/encode/django-rest-framework/pull/7574) for more details.
|
See Pull Request [#7574](https://github.com/django-commons/django-rest-framework/pull/7574) for more details.
|
||||||
|
|
||||||
|
|
||||||
## Make Open API `get_reference` public.
|
## Make Open API `get_reference` public.
|
||||||
|
@ -55,7 +55,7 @@ When OR-ing two permissions, the request has to pass either class's `has_permiss
|
||||||
|
|
||||||
Previously, both class's `has_permission()` was ignored when OR-ing two permissions together.
|
Previously, both class's `has_permission()` was ignored when OR-ing two permissions together.
|
||||||
|
|
||||||
See Pull Request [#7522](https://github.com/encode/django-rest-framework/pull/7522) for more details.
|
See Pull Request [#7522](https://github.com/django-commons/django-rest-framework/pull/7522) for more details.
|
||||||
|
|
||||||
## Minor fixes and improvements
|
## Minor fixes and improvements
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ This interface is intended to act as a more user-friendly interface to the API.
|
||||||
|
|
||||||
We've also fixed a huge number of issues, and made numerous cleanups and improvements.
|
We've also fixed a huge number of issues, and made numerous cleanups and improvements.
|
||||||
|
|
||||||
Over the course of the 3.1.x series we've [resolved nearly 600 tickets](https://github.com/encode/django-rest-framework/issues?utf8=%E2%9C%93&q=closed%3A%3E2015-03-05) on our GitHub issue tracker. This means we're currently running at a rate of **closing around 100 issues or pull requests per month**.
|
Over the course of the 3.1.x series we've [resolved nearly 600 tickets](https://github.com/django-commons/django-rest-framework/issues?utf8=%E2%9C%93&q=closed%3A%3E2015-03-05) on our GitHub issue tracker. This means we're currently running at a rate of **closing around 100 issues or pull requests per month**.
|
||||||
|
|
||||||
None of this would have been possible without the support of our wonderful Kickstarter backers. If you're looking for a job in Django development we'd strongly recommend taking [a look through our sponsors](https://www.django-rest-framework.org/community/kickstarter-announcement/#sponsors) and finding out who's hiring.
|
None of this would have been possible without the support of our wonderful Kickstarter backers. If you're looking for a job in Django development we'd strongly recommend taking [a look through our sponsors](https://www.django-rest-framework.org/community/kickstarter-announcement/#sponsors) and finding out who's hiring.
|
||||||
|
|
||||||
|
|
|
@ -179,16 +179,16 @@ The full set of itemized release notes [are available here][release-notes].
|
||||||
[moss]: mozilla-grant.md
|
[moss]: mozilla-grant.md
|
||||||
[funding]: funding.md
|
[funding]: funding.md
|
||||||
[core-api]: https://www.coreapi.org/
|
[core-api]: https://www.coreapi.org/
|
||||||
[command-line-client]: https://github.com/encode/django-rest-framework/blob/3.4.7/docs/topics/api-clients.md#command-line-client
|
[command-line-client]: https://github.com/django-commons/django-rest-framework/blob/3.4.7/docs/topics/api-clients.md#command-line-client
|
||||||
[client-library]: https://github.com/encode/django-rest-framework/blob/3.4.7/docs/topics/api-clients.md#python-client-library
|
[client-library]: https://github.com/django-commons/django-rest-framework/blob/3.4.7/docs/topics/api-clients.md#python-client-library
|
||||||
[core-json]: https://www.coreapi.org/specification/encoding/#core-json-encoding
|
[core-json]: https://www.coreapi.org/specification/encoding/#core-json-encoding
|
||||||
[swagger]: https://openapis.org/specification
|
[swagger]: https://openapis.org/specification
|
||||||
[hyperschema]: https://json-schema.org/latest/json-schema-hypermedia.html
|
[hyperschema]: https://json-schema.org/latest/json-schema-hypermedia.html
|
||||||
[api-blueprint]: https://apiblueprint.org/
|
[api-blueprint]: https://apiblueprint.org/
|
||||||
[tut-7]: https://github.com/encode/django-rest-framework/blob/3.4.7/docs/tutorial/7-schemas-and-client-libraries.md
|
[tut-7]: https://github.com/django-commons/django-rest-framework/blob/3.4.7/docs/tutorial/7-schemas-and-client-libraries.md
|
||||||
[schema-generation]: ../api-guide/schemas.md
|
[schema-generation]: ../api-guide/schemas.md
|
||||||
[api-clients]: https://github.com/encode/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md
|
[api-clients]: https://github.com/django-commons/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md
|
||||||
[milestone]: https://github.com/encode/django-rest-framework/milestone/35
|
[milestone]: https://github.com/django-commons/django-rest-framework/milestone/35
|
||||||
[release-notes]: ./release-notes.md#34x-series
|
[release-notes]: ./release-notes.md#34x-series
|
||||||
[metadata]: ../api-guide/metadata.md#custom-metadata-classes
|
[metadata]: ../api-guide/metadata.md#custom-metadata-classes
|
||||||
[gh3751]: https://github.com/encode/django-rest-framework/issues/3751
|
[gh3751]: https://github.com/django-commons/django-rest-framework/issues/3751
|
||||||
|
|
|
@ -195,5 +195,5 @@ on realtime support, for the 3.7 release.
|
||||||
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
||||||
[funding]: funding.md
|
[funding]: funding.md
|
||||||
[api-docs]: ../topics/documenting-your-api.md
|
[api-docs]: ../topics/documenting-your-api.md
|
||||||
[js-docs]: https://github.com/encode/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md#javascript-client-library
|
[js-docs]: https://github.com/django-commons/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md#javascript-client-library
|
||||||
[py-docs]: https://github.com/encode/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md#python-client-library
|
[py-docs]: https://github.com/django-commons/django-rest-framework/blob/3.14.0/docs/topics/api-clients.md#python-client-library
|
||||||
|
|
|
@ -97,7 +97,7 @@ REST framework 3.7 supports Django versions 1.10, 1.11, and 2.0 alpha.
|
||||||
|
|
||||||
There are a large number of minor fixes and improvements in this release. See the [release notes](release-notes.md) page for a complete listing.
|
There are a large number of minor fixes and improvements in this release. See the [release notes](release-notes.md) page for a complete listing.
|
||||||
|
|
||||||
The number of [open tickets against the project](https://github.com/encode/django-rest-framework/issues) currently at its lowest number in quite some time, and we're continuing to focus on reducing these to a manageable amount.
|
The number of [open tickets against the project](https://github.com/django-commons/django-rest-framework/issues) currently at its lowest number in quite some time, and we're continuing to focus on reducing these to a manageable amount.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,6 @@ We're currently working towards moving to using [OpenAPI][openapi] as our defaul
|
||||||
We're doing some consolidation in order to make this happen. It's planned that 3.9 will drop the `coreapi` and `coreschema` libraries, and instead use `apistar` for the API documentation generation, schema generation, and API client libraries.
|
We're doing some consolidation in order to make this happen. It's planned that 3.9 will drop the `coreapi` and `coreschema` libraries, and instead use `apistar` for the API documentation generation, schema generation, and API client libraries.
|
||||||
|
|
||||||
[funding]: funding.md
|
[funding]: funding.md
|
||||||
[gh5886]: https://github.com/encode/django-rest-framework/issues/5886
|
[gh5886]: https://github.com/django-commons/django-rest-framework/issues/5886
|
||||||
[gh5705]: https://github.com/encode/django-rest-framework/issues/5705
|
[gh5705]: https://github.com/django-commons/django-rest-framework/issues/5705
|
||||||
[openapi]: https://www.openapis.org/
|
[openapi]: https://www.openapis.org/
|
||||||
|
|
|
@ -146,7 +146,7 @@ package. Please use this instead.
|
||||||
|
|
||||||
See [#5990][gh5990].
|
See [#5990][gh5990].
|
||||||
|
|
||||||
[gh5990]: https://github.com/encode/django-rest-framework/pull/5990
|
[gh5990]: https://github.com/django-commons/django-rest-framework/pull/5990
|
||||||
|
|
||||||
`base_name` and `get_default_base_name()` are pending deprecation. They will be deprecated in 3.10 and removed entirely in 3.11.
|
`base_name` and `get_default_base_name()` are pending deprecation. They will be deprecated in 3.10 and removed entirely in 3.11.
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ ASGI.
|
||||||
|
|
||||||
|
|
||||||
[funding]: funding.md
|
[funding]: funding.md
|
||||||
[gh5886]: https://github.com/encode/django-rest-framework/issues/5886
|
[gh5886]: https://github.com/django-commons/django-rest-framework/issues/5886
|
||||||
[gh5705]: https://github.com/encode/django-rest-framework/issues/5705
|
[gh5705]: https://github.com/django-commons/django-rest-framework/issues/5705
|
||||||
[openapi]: https://www.openapis.org/
|
[openapi]: https://www.openapis.org/
|
||||||
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
[sponsors]: https://fund.django-rest-framework.org/topics/funding/#our-sponsors
|
||||||
|
|
|
@ -26,11 +26,11 @@ Please keep the tone polite & professional. For some users a discussion on the
|
||||||
|
|
||||||
Be mindful in the language you choose. As an example, in an environment that is heavily male-dominated, posts that start 'Hey guys,' can come across as unintentionally exclusive. It's just as easy, and more inclusive to use gender neutral language in those situations.
|
Be mindful in the language you choose. As an example, in an environment that is heavily male-dominated, posts that start 'Hey guys,' can come across as unintentionally exclusive. It's just as easy, and more inclusive to use gender neutral language in those situations.
|
||||||
|
|
||||||
The [Django code of conduct][code-of-conduct] gives a fuller set of guidelines for participating in community forums.
|
The [Django Commons Code of Conduct][code-of-conduct] gives a fuller set of guidelines for participating in community forums.
|
||||||
|
|
||||||
# Issues
|
# Issues
|
||||||
|
|
||||||
Our contribution process is that the [GitHub discussions page](https://github.com/encode/django-rest-framework/discussions) should generally be your starting point. Some tips on good potential issue reporting:
|
Our contribution process is that the [GitHub discussions page](https://github.com/django-commons/django-rest-framework/discussions) should generally be your starting point. Some tips on good potential issue reporting:
|
||||||
|
|
||||||
* Django REST framework is considered feature-complete. Please do not file requests to change behavior, unless it is required for security reasons or to maintain compatibility with upcoming Django or Python versions.
|
* Django REST framework is considered feature-complete. Please do not file requests to change behavior, unless it is required for security reasons or to maintain compatibility with upcoming Django or Python versions.
|
||||||
* Search the GitHub project page for related items, and make sure you're running the latest version of REST framework before reporting an issue.
|
* Search the GitHub project page for related items, and make sure you're running the latest version of REST framework before reporting an issue.
|
||||||
|
@ -201,7 +201,7 @@ If you want to draw attention to a note or warning, use a pair of enclosing line
|
||||||
|
|
||||||
|
|
||||||
[cite]: https://www.w3.org/People/Berners-Lee/FAQ.html
|
[cite]: https://www.w3.org/People/Berners-Lee/FAQ.html
|
||||||
[code-of-conduct]: https://www.djangoproject.com/conduct/
|
[code-of-conduct]: https://github.com/django-commons/membership/blob/main/CODE_OF_CONDUCT.md
|
||||||
[google-group]: https://groups.google.com/forum/?fromgroups#!forum/django-rest-framework
|
[google-group]: https://groups.google.com/forum/?fromgroups#!forum/django-rest-framework
|
||||||
[so-filter]: https://stackexchange.com/filters/66475/rest-framework
|
[so-filter]: https://stackexchange.com/filters/66475/rest-framework
|
||||||
[pep-8]: https://www.python.org/dev/peps/pep-0008/
|
[pep-8]: https://www.python.org/dev/peps/pep-0008/
|
||||||
|
@ -209,7 +209,7 @@ If you want to draw attention to a note or warning, use a pair of enclosing line
|
||||||
[pull-requests]: https://help.github.com/articles/using-pull-requests
|
[pull-requests]: https://help.github.com/articles/using-pull-requests
|
||||||
[tox]: https://tox.readthedocs.io/en/latest/
|
[tox]: https://tox.readthedocs.io/en/latest/
|
||||||
[markdown]: https://daringfireball.net/projects/markdown/basics
|
[markdown]: https://daringfireball.net/projects/markdown/basics
|
||||||
[docs]: https://github.com/encode/django-rest-framework/tree/main/docs
|
[docs]: https://github.com/django-commons/django-rest-framework/tree/main/docs
|
||||||
[mou]: http://mouapp.com/
|
[mou]: http://mouapp.com/
|
||||||
[repo]: https://github.com/encode/django-rest-framework
|
[repo]: https://github.com/django-commons/django-rest-framework
|
||||||
[how-to-fork]: https://help.github.com/articles/fork-a-repo/
|
[how-to-fork]: https://help.github.com/articles/fork-a-repo/
|
||||||
|
|
|
@ -39,5 +39,5 @@ Wonder how else you can help? One of the best ways you can help Django REST Fram
|
||||||
[remotepython-com]: https://www.remotepython.com/jobs/
|
[remotepython-com]: https://www.remotepython.com/jobs/
|
||||||
[pyjobs-com]: https://www.pyjobs.com/
|
[pyjobs-com]: https://www.pyjobs.com/
|
||||||
[drf-funding]: https://fund.django-rest-framework.org/topics/funding/
|
[drf-funding]: https://fund.django-rest-framework.org/topics/funding/
|
||||||
[submit-pr]: https://github.com/encode/django-rest-framework
|
[submit-pr]: https://github.com/django-commons/django-rest-framework
|
||||||
[anna-email]: mailto:anna@django-rest-framework.org
|
[anna-email]: mailto:anna@django-rest-framework.org
|
||||||
|
|
|
@ -159,7 +159,7 @@ The following issues still need to be addressed:
|
||||||
* Document ownership and management of the security mailing list.
|
* Document ownership and management of the security mailing list.
|
||||||
|
|
||||||
[bus-factor]: https://en.wikipedia.org/wiki/Bus_factor
|
[bus-factor]: https://en.wikipedia.org/wiki/Bus_factor
|
||||||
[un-triaged]: https://github.com/encode/django-rest-framework/issues?q=is%3Aopen+no%3Alabel
|
[un-triaged]: https://github.com/django-commons/django-rest-framework/issues?q=is%3Aopen+no%3Alabel
|
||||||
[transifex-project]: https://www.transifex.com/projects/p/django-rest-framework/
|
[transifex-project]: https://www.transifex.com/projects/p/django-rest-framework/
|
||||||
[transifex-client]: https://pypi.org/project/transifex-client/
|
[transifex-client]: https://pypi.org/project/transifex-client/
|
||||||
[translation-memory]: http://docs.transifex.com/guides/tm#let-tm-automatically-populate-translations
|
[translation-memory]: http://docs.transifex.com/guides/tm#let-tm-automatically-populate-translations
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -173,9 +173,9 @@ To submit new content, [create a pull request][drf-create-pr].
|
||||||
[pypi-register]: https://pypi.org/account/register/
|
[pypi-register]: https://pypi.org/account/register/
|
||||||
[semver]: https://semver.org/
|
[semver]: https://semver.org/
|
||||||
[tox-docs]: https://tox.readthedocs.io/en/latest/
|
[tox-docs]: https://tox.readthedocs.io/en/latest/
|
||||||
[drf-compat]: https://github.com/encode/django-rest-framework/blob/main/rest_framework/compat.py
|
[drf-compat]: https://github.com/django-commons/django-rest-framework/blob/main/rest_framework/compat.py
|
||||||
[rest-framework-grid]: https://www.djangopackages.com/grids/g/django-rest-framework/
|
[rest-framework-grid]: https://www.djangopackages.com/grids/g/django-rest-framework/
|
||||||
[drf-create-pr]: https://github.com/encode/django-rest-framework/compare
|
[drf-create-pr]: https://github.com/django-commons/django-rest-framework/compare
|
||||||
[authentication]: ../api-guide/authentication.md
|
[authentication]: ../api-guide/authentication.md
|
||||||
[permissions]: ../api-guide/permissions.md
|
[permissions]: ../api-guide/permissions.md
|
||||||
[third-party-packages]: #existing-third-party-packages
|
[third-party-packages]: #existing-third-party-packages
|
||||||
|
|
|
@ -131,7 +131,7 @@ Want your Django REST Framework talk/tutorial/article to be added to our website
|
||||||
[drf-an-intro]: https://realpython.com/blog/python/django-rest-framework-quick-start/
|
[drf-an-intro]: https://realpython.com/blog/python/django-rest-framework-quick-start/
|
||||||
[drf-tutorial]: https://tests4geeks.com/django-rest-framework-tutorial/
|
[drf-tutorial]: https://tests4geeks.com/django-rest-framework-tutorial/
|
||||||
[building-a-restful-api-with-drf]: https://agiliq.com/blog/2014/12/building-a-restful-api-with-django-rest-framework/
|
[building-a-restful-api-with-drf]: https://agiliq.com/blog/2014/12/building-a-restful-api-with-django-rest-framework/
|
||||||
[submit-pr]: https://github.com/encode/django-rest-framework
|
[submit-pr]: https://github.com/django-commons/django-rest-framework
|
||||||
[anna-email]: mailto:anna@django-rest-framework.org
|
[anna-email]: mailto:anna@django-rest-framework.org
|
||||||
[pycon-us-2017]: https://www.youtube.com/watch?v=Rk6MHZdust4
|
[pycon-us-2017]: https://www.youtube.com/watch?v=Rk6MHZdust4
|
||||||
[django-rest-react-valentinog]: https://www.valentinog.com/blog/tutorial-api-django-rest-react/
|
[django-rest-react-valentinog]: https://www.valentinog.com/blog/tutorial-api-django-rest-react/
|
||||||
|
|
|
@ -2,7 +2,7 @@ site_name: Django REST framework
|
||||||
site_url: https://www.django-rest-framework.org/
|
site_url: https://www.django-rest-framework.org/
|
||||||
site_description: Django REST framework - Web APIs for Django
|
site_description: Django REST framework - Web APIs for Django
|
||||||
|
|
||||||
repo_url: https://github.com/encode/django-rest-framework
|
repo_url: https://github.com/django-commons/django-rest-framework
|
||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: mkdocs
|
name: mkdocs
|
||||||
|
|
Loading…
Reference in New Issue
Block a user