NamespacesΒΆ
For various reasons you might want to deploy your API under a namespaced URL path. To support that tastypie includes NamespacedApi
and NamespacedModelResource
.
A sample definition of your API in this case would be something like:
from django.urls.conf import re_path, include
from tastypie.api import NamespacedApi
from my_application.api.resources import NamespacedUserResource
api = NamespacedApi(api_name='v1', urlconf_namespace='special')
api.register(NamespacedUserResource())
urlpatterns = [
re_path(r'^api/', include(api.urls, namespace='special')),
]
And your model resource:
from django.contrib.auth.models import User
from tastypie.resources import NamespacedModelResource
from tastypie.authorization import Authorization
class NamespacedUserResource(NamespacedModelResource):
class Meta:
resource_name = 'users'
queryset = User.objects.all()
authorization = Authorization()