Quick start
This section is intended as a quick reference for those who want to install DRF Versioning into an existing Django project. If you are starting from scratch, I recommend following the tutorial, which includes setting up a sample Django REST project.
Create a versioning module
./manage.py startapp versioning
or
mkdir versioning
Suggested structure:
└── versioning
├── __init__.py
├── version_list.py # maintain the list of supported Versions here
└── versions.py # define your Version instances here
with versions.py containing:
from drf_versioning.versions import Version
VERSION_1_0_0 = Version(
"1.0.0",
notes=["Initial version"],
)
and version_list.py containing:
from . import versions
VERSIONS = [
versions.VERSION_1_0_0,
]
Update project settings
In your project settings.py add:
REST_FRAMEWORK = {
"DEFAULT_VERSIONING_CLASS": "drf_versioning.middleware.AcceptHeaderVersioning",
}
DRF_VERSIONING_SETTINGS = {
"VERSION_LIST": "versioning.version_list.VERSIONS",
"DEFAULT_VERSION": "latest",
}
(Optional) add versioning urls
In your project urls.py:
urlpatterns = [
..., # your other urls
path("version/", include("drf_versioning.urls")),
]