From 670e44328ba63ed1d698738ecc98baf001e4fbb2 Mon Sep 17 00:00:00 2001 From: Yaser Khahani Date: Mon, 24 Dec 2018 11:37:40 +0330 Subject: [PATCH] Use Default Version in URLPathVersioning if 'version' Didn't Passed --- rest_framework/versioning.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rest_framework/versioning.py b/rest_framework/versioning.py index 5c9a7ade1..884402784 100644 --- a/rest_framework/versioning.py +++ b/rest_framework/versioning.py @@ -74,7 +74,17 @@ class URLPathVersioning(BaseVersioning): invalid_version_message = _('Invalid version in URL path.') def determine_version(self, request, *args, **kwargs): + """ + Use Default Version If 'version' Did Not Sets by Client in URL (So, It's Equal to None). + e.g: + api/users/ > Use Default Version (As Often The Default Version Is The Latest One). + api/v1/users/ > Check 'v1' Is Allowed? + """ version = kwargs.get(self.version_param, self.default_version) + + if version is None: + version = self.default_version + if not self.is_allowed_version(version): raise exceptions.NotFound(self.invalid_version_message) return version