You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
REST framework is a collaboratively funded project. If you use
REST framework commercially we strongly encourage you to invest in its
continued development by signing up for a paid plan.
The initial aim is to provide a single full-time position on REST framework.
Every single sign-up makes a significant impact towards making that possible.
Now edit the example/urls.py module in your project:
fromdjango.contrib.auth.modelsimportUserfromdjango.urlsimportinclude, pathfromrest_frameworkimportrouters, serializers, viewsets# Serializers define the API representation.classUserSerializer(serializers.HyperlinkedModelSerializer):
classMeta:
model=Userfields= ['url', 'username', 'email', 'is_staff']
# ViewSets define the view behavior.classUserViewSet(viewsets.ModelViewSet):
queryset=User.objects.all()
serializer_class=UserSerializer# Routers provide a way of automatically determining the URL conf.router=routers.DefaultRouter()
router.register(r'users', UserViewSet)
# Wire up our API using automatic URL routing.# Additionally, we include login URLs for the browsable API.urlpatterns= [
path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]
We'd also like to configure a couple of settings for our API.
Add the following to your settings.py module:
INSTALLED_APPS= [
... # Make sure to include the default installed apps here.'rest_framework',
]
REST_FRAMEWORK= {
# Use Django's standard `django.contrib.auth` permissions,# or allow read-only access for unauthenticated users.'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly',
]
}
That's it, we're done!
./manage.py runserver
You can now open the API in your browser at https://127.0.0.1:8000/, and view your new 'users' API. If you use the Login control in the top right corner you'll also be able to add, create and delete users from the system.
You can also interact with the API using command line tools such as curl. For example, to list the users endpoint: