Awesome Django REST Framework
Curated list of tools, processes and resources you need to create an awesome API with Django REST Framework!
Let's make it the biggest resource repository for our community.
Please read the contribution guidelines before contributing.
Check out my medium blog or say hi on Twitter.
Table of Contents
Packages
Authentication
- django-rest-passwordreset: Password reset endpoints that hook into Django Authentication system
- djoser: REST implementation of Django authentication system
- dj-rest-auth: A set of REST API endpoints to handle User Registration and Authentication tasks
- django-rest-registration: User registration and authentication REST API, based on Django REST Framework.
- django-rest-framework-simplejwt: A JSON Web Token authentication plugin for the Django REST Framework
- django-rest-framework-social-oauth2: python-social-auth and oauth2 support for django-rest-framework
- django-oauth-toolkit: Django OAuth Toolkit can help you providing out of the box all the endpoints, data and logic needed to add OAuth2 capabilities to your Django projects. Django OAuth Toolkit makes extensive use of the excellent OAuthLib, so that everything is rfc-compliant.
- django-rest-durin provides token auth for multiple Web/CLI/Mobile API clients via one interface but allows different token configuration for each client (For example, permissions and token expiration time can be different per API client).
- djangorest-routes: Djangorest Routes is an authentication library strongly built in Python that serves the purpose of quick bootstrapping a project's authentication infrastructure.
Authorization
- dry-rest-permissions: Rules based permissions for the Django Rest Framework
Documentation
- drf-yasg: Alternative OpenAPI Generator for Django REST Framework with response schema support
- drf-spectacular: Sane and flexible OpenAPI 3.0 schema generation for Django REST framework
- drf-openapi-tester: Test drf test responses against OpenAPI/Swagger documentation.
Routing
- drf-nested-routers: Nested Routers for Django Rest Framework
Serialization
- django-rest-framework-recursive: Recursive Serialization for Django REST framework
- drf-extra-fields: Extra fields for Django REST framework.
- drf-flex-fields: Dynamically set fields and expand nested resources in Django REST Framework serializers.
- drf-writable-nested: Writable nested model serializer for Django REST Framework
Visualization
- django-rest-pandas: Serves up Pandas dataframes via the Django REST Framework for use in client-side (i.e. d3.js) visualizations and offline analysis (e.g. Excel)
- django-rest-framework-gis: Geographic add-ons for Django REST Framework
- drf-renderer-xlsx: Allows you to create XLSX for Django REST Framework
Other
- django-rest-localflavor: Country-specific Django helpers, to use in Django Rest Framework
- django-rest-framework-json-api: Implements most of the JSON API 1.0 spec.
- drf-extensions: DRF-extensions is a collection of custom extensions for Django REST Framework
- drf-generators: Generate Views, Serializers, and Urls for your Django Rest Framework application.
- django-restql: Turn your API made with Django REST Framework(DRF) into a GraphQL like API.
- django-rest-tsg: A TypeScript code generator for DRF serializers, enums and dataclasses.
Tutorials
- The Complete Guide to Django REST Framework and Vue JS
- Beginner's Guide to the Django REST Framework
- Django Rest Framework - an Introduction
- Django REST Framework Tutorial
- Django REST Framework Course
- Modern Django - Blog Series covering Django api and React frontend
- Building a RESTful API with Django REST Framework
- Getting Started with Django REST Framework and AngularJS
- End to End Web App with Django REST Framework & AngularJS
- Start Your API - Django REST Framework Part 1
- Permissions & Authentication - Django REST Framework Part 2
- ViewSets and Routers - Django REST Framework Part 3
- Django REST Framework User Endpoint
- Check Credentials Using Django REST Framework
- Creating a Production Ready API with Python and Django REST Framework – Part 1
- Creating a Production Ready API with Python and Django REST Framework – Part 2
- Classy Django REST Framework
- Permissions in Django REST Framework
- Built-in Permission Classes in Django REST Framework
- Effectively Using Django REST Framework Serializers
Books
Courses
Talks
- Fergal Walsh - Rethinking how we build HTTP APIs
- Samuel Fuentes - Fast product development using Django Rest Framework. #lessonslearned
- Marco Montanari - Django, Django Rest Framework and Angular2: RAD on SaaS platforms
- Alejandro Castillo - Django Rest Framework, one year after: tips, tools, tricks and pitfalls.
- Rafał Nowicki - Python REST frameworks review