What is Django REST framework?

It is a powerful and flexible toolkit that makes it easy to build Web APIs.
Django REST framework is a tool in the Microframeworks (Backend) category of a tech stack.
Django REST framework is an open source tool with GitHub stars and GitHub forks. Here’s a link to Django REST framework's open source repository on GitHub

Who uses Django REST framework?

Companies
361 companies reportedly use Django REST framework in their tech stacks, including Robinhood, UpstageAI, and Pratilipi.

Developers
1501 developers on StackShare have stated that they use Django REST framework.

Django REST framework Integrations

Django, Sentry, Rollbar, Stream, and Django REST framework JWT are some of the popular tools that integrate with Django REST framework. Here's a list of all 7 tools that integrate with Django REST framework.
Pros of Django REST framework
66
Easy to use
65
Browsable api
53
Great documentation
50
Customizable
42
Fast development
9
Easy to use, customizable, pluggable, serializer
8
Python
7
Django ORM
5
FastSerialize
3
Less code
2
Easy implementation
Decisions about Django REST framework

Here are some stack decisions, common use cases and reviews by companies and developers who chose Django REST framework in their tech stack.

My Situation: I am both

  1. Working on a startup/side hustle app, an interactive fitness journal that tracks and recommends exercise as well as makes creating meal plans trivial, in Flutter where the back-end will tentatively be written using Django REST framework as a REST API. For what it's worth Microsoft Azure will be my cloud of choice.

  2. I'm also trying to transition away from an on-prem senior engineer to a Cloud Engineer.

Flutter is a firm choice for the FE however I'd really appreciate some guidance on which tools I should consider using to be in line with contemporary cloud languages and tools as well, if it is a good idea to suck it up and put Python on the back burner so I can learn JavaScript. I need things like ORMs, User Auth, etc.

Can anyone please advise?

See more
Needs advice
on
DjangoDjangoFastAPIFastAPI
and
FlaskFlask

Hello all,

I've been following the Django style guide from HackSoft (https://github.com/HackSoftware/Django-Styleguide) for a while now and I really liked it.

So currently at my workplace the project I'm working on, our lead architect (he's from .NET background I have asked a question a month back on a similar note) has asked me to write the Django code as per DDD principles (service layer, repository layer, entity layer etc) so after going through many articles and videos regarding DDD found out that following DDD principles in Django is an overkill.

Since I really like Django style guide and Django way of doing things, I am unable to convince our lead architect on following Django way of doing things/the style guide from HackSoft. He wants me to strictly use DDD principles. So with DDD I believe we cannot make use of any 3rd party Django libraries.

For example, I'm using Django REST framework for API development he's asking me not to use serializers, authentication & permission classes, and a lot of other things. Instead, he's asking me to write all these things without depending on Django/Django libraries. So his way of thinking is, code should be framework agnostic. For that if we want to migrate to some new framework then with DDD principles easily we'll be able to achieve is what he says. Also he said with DDD we can write pure unit test cases.

But from my POV, I guess it is doable. But since many people are using Django, DRF, and a lot of great 3rd party Django libraries it is battle tested and integrates great with Django. But if we follow DDD then we're missing out on these things, and again we have to reinvent the wheel for all the tasks which Django actually provides I think.

Seb Corben who gave DjangoCon 2022 talk on DDD Django says that for simpler projects and short term projects, it's not effective.

Lastly, I want to know have you guys tried DDD with Django? Can you please share your thoughts on this?

See more
Needs advice
on
DjangoDjangoGolangGolang
and
SpringSpring

So currently I have experience in Node.js, but just to expand my stack knowledge and for getting backend developer roles, I thought of learning another backend-related language/framework. I have heard about Django, Golang, and Spring. I am mostly trying for backend API roles, and far as I've heard, Django REST framework can be a pain to work with. I've heard there are issues with Golang for package management (like how recently the Gorilla web toolkit is archived) and as for Spring, it's a vast ecosystem to learn so not sure if it's worth investing in. I would like to know which tool/framework to learn, which can help me get high-paying jobs and has a lot of scopes, and also which is great for making REST APIs. Any other tool that can do the job better than these three is also welcome!

See more
Nyasha Chizampeni
Software Engineer at Petalm Africa Group · | 3 upvotes · 10.1K views
Needs advice
on
Auth0Auth0
and
Django REST frameworkDjango REST framework

l'm building a backend service with Django REST framework and l was wondering which method of authentication should l choose?

See more
Needs advice
on
DjangoDjangoPostgreSQLPostgreSQL
and
Vue.jsVue.js

I am planning on creating an application using the following tech-stack. Vue.js (TypeScript) for the front-end, Django (specifically Django REST framework) for the server-side work, and using PostgreSQL as the database. Is there any reason NOT to use this tech stack mentioned or are there better options? Without giving away too much info, my app will be logging information from the user, displaying this information, setting goals, displaying visual graphs, a friend system where you can add other people etc...

See more
Arjiv Jivithkumar
Junior Product Manager at Vozz · | 13 upvotes · 75.9K views
Needs advice
on
DjangoDjango
and
ReactReact

Hey everyone! I'm planning on building a personal project - this will be my first full-stack project and will be a web app.

The way it will work is that users will be able to post groups. This can be, groups for studying or groups for work, etc. They can also set the desired group size (e.g. limit the group to 3 members). Other users can then join said group - once the group is full, it will automatically close.

What tech stack would you all recommend for this? I have a lot of experience with Django so maybe that will be good for the backend but I'm not sure where to go from there. I've heard using the Django REST framework with a React frontend might be good. Always open to learning new technologies and thanks in advance!

See more

Blog Posts

GitHubPythonReact+42
49
40922
GitHubPythonNode.js+47
55
72769
PythonDjangoDjango REST framework+3
6
5700

Django REST framework's Features

  • The Web browsable API is a huge usability win for your developers.
  • Authentication policies including OAuth1a and OAuth2 out of the box.
  • Serialization that supports both ORM and non-ORM data sources.
  • Customizable all the way down - just use regular function-based views if you don't need the more powerful features.
  • Extensive documentation, and great community support.
  • Used and trusted by large companies such as Mozilla and Eventbrite.

Django REST framework Alternatives & Comparisons

What are some alternatives to Django REST framework?
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
Tastypie
Tastypie is a webservice API framework for Django. It provides a convenient, yet powerful and highly customizable abstraction for creating REST-style interfaces.
Swagger UI
Swagger UI is a dependency-free collection of HTML, Javascript, and CSS assets that dynamically generate beautiful documentation and sandbox from a Swagger-compliant API
Graphene
Graphene is a Python library for building GraphQL schemas/types fast and easily.
See all alternatives

Django REST framework's Followers
2043 developers follow Django REST framework to keep up with related blogs and decisions.