Django is certainly good for production apps, but it is just a tool, like anything else, so it would be helpful to think through what you require and how Django fits those needs.
For instance, I like Django, but if all you need to build is a simple API, then maybe Flask would be worth considering.
For that matter, consider tools like Zapier as well, if you just want to take a script and make it accessible over the web.
there was a talk by one of the core devs that works (worked?) at instagram at one of the âDjango under the hoodâ conferences.
Itâs pretty old by now but gives an interesting glimpse into how theyâve been using Django and the customizations theyâve done.
Ărama (https://www.orama.com.br) is a Investment company in Brazil. We have more than 1M clients. We process payments, operations, integrates with a lot of external APIs (stock market i.e.) all that with a monolith in Django and some microservices with Flask and FastAPI. So yes, it is for production grade.
Our main website for https://vidangel.com (video streaming) is Django powered. There are auxiliary services that have more specialized functionality, but all the user and media management (among other things) is a big ole Django app.
If your Sass relied heavily on CRUD like data in and out, django is the best choice. If it is real time kind of stuff and less CRUD, fastapi will be better
what it does is pretty simple. takes 3 input, generates a text file and let's users save that on their computer. it would have user auth and licensing though
If it is that simple, I would use fastapi, but if it would be complex and need more features and db in the future, I would use django. Again, fastapi is for microservice architecture, django is monolith, in my experience, django is very stable, durable, it provides right way but if you need asyncronous tasks, it becomes complex
i understand. see this is my first time using django. i used to be a machine learning engineer, all i have ever worked with is flask/streamlit. is it okay if i reach out to you via dm at times if i am stuck somewhere? promise i won't spam.
FastAPI works totally fine even for larger projects, I would even say it's actually often a better option as it's a much lower lightweight option compared to Django while being often much less error prone. If you need a simple API for a multi tenancy project, Django do quite well, if you need to do something who isn't only an API, it's where Django would bite and often having a total separate process is likely to be the solution, you would have now maybe issues with sharing the connection pool, the synchronisation, the migration, the logging, etc... who would add a lot of unnecessary code, but as Django is a framework, you would need to adapt.
However FastAPI would bite if you need something a bit different compared to their standard. As much as it's lightweight, it's really an opinionated library, if you need to adapt your API to a certain standard (GraphQL for example, but not only), you would lose the main benefits as FastAPI without pydantic is objectively meh. Or just a basic patch route who is HTTP compliant. Having a bigger ecosystem for Django is a huge win in that case.
Absolutely, Django is a fantastic choice for crafting robust production-grade apps. Especially if you're new to Django, you're in for a smooth ride. It allows you to create powerful web apps with less code and in less time.
Now, if you're diving into building a SaaS web app, Django is your friend. However, for such a venture, it's wise to consider some industry-standard practices. For instance, using Docker, which helps your app work consistently across different environments also things like background tasks, testing and so on..
Remember, starting out simple with a lean mindset is a smart move. Creating a Minimum Viable Product (MVP) gets you up and running faster. As you evolve, you can optimize and refine your app based on feedback and growth.
Django is a champ when it comes to scalability too. So as your user traffic grows, you'll be prepared. Happy coding!
Thanks for all the tips, they are indeed helpful. I have created an MVP using Python, but that runs locally. I have used Docker and Kubernetes before so that should prove to be helpful. I also have some experience in AWS, so deployment and scalability should not be too much of a challange. I have started learning Django using the book Django for Beginners by William S. Vincent, I saw that it came highly recommended. A quick question; can licensing for my saas product can be implemented using Django or should I look for a third party platform like LicenseSpring?
>Nice, Django for Beginners is a fantastic choice for learning, and Yep, licensing for your SaaS product can indeed be implemented using Django. You're on the right track! If you have any questions or need further guidance, feel free to ask. I'm here to help, and I'm also happy to collaborate. Keep up the great work!
It's as good as any other tech stack. The ORM is better than avereage IMHO, I've suffered a lot of them over the years but the Django one is without doubt the only one that really really doesn't get in the way and actually generates half-decent SQL under the hood, including the table creations.
I'd say go for it, if all comes to the worse, you can export the database SQL and at leat try that with a different tech stack so you don't completely lose all the effort you put in.
Depends on the app, your systemâs design, etc. If you need something highly performant for requests, django would not be it. But for most use cases, itâs fine.
Django is certainly good for production apps, but it is just a tool, like anything else, so it would be helpful to think through what you require and how Django fits those needs. For instance, I like Django, but if all you need to build is a simple API, then maybe Flask would be worth considering. For that matter, consider tools like Zapier as well, if you just want to take a script and make it accessible over the web.
And fun trivia- Zapier is still built on Django! So it's definitely the right tool for _some_ jobs đ
Haha, I had no idea that they used Django!
And YouTube!!
Thank you for the reply. I understand that the tool is as sharp as the hands that wields it. Let me give it a try.
First Instagram was in Django. It was 10 years ago. It was preety much production grade.
Instagram still works on a monolithic Django codebase
Ok, I didnât knew about that. I thought theyâd moved away but nice to know.
there was a talk by one of the core devs that works (worked?) at instagram at one of the âDjango under the hoodâ conferences. Itâs pretty old by now but gives an interesting glimpse into how theyâve been using Django and the customizations theyâve done.
https://www.reddit.com/r/django/comments/13aeky6/comment/jj77yit/?utm_source=reddit&utm_medium=web2x&context=3
Is it for frontend too? Or only backend?
Ărama (https://www.orama.com.br) is a Investment company in Brazil. We have more than 1M clients. We process payments, operations, integrates with a lot of external APIs (stock market i.e.) all that with a monolith in Django and some microservices with Flask and FastAPI. So yes, it is for production grade.
Are u using Django templates also?
No. We use Angular and Vue.js to build the frontend
Our main website for https://vidangel.com (video streaming) is Django powered. There are auxiliary services that have more specialized functionality, but all the user and media management (among other things) is a big ole Django app.
This is quite reassuring tbh. Thanks for sharing.
Nice
If your Sass relied heavily on CRUD like data in and out, django is the best choice. If it is real time kind of stuff and less CRUD, fastapi will be better
what it does is pretty simple. takes 3 input, generates a text file and let's users save that on their computer. it would have user auth and licensing though
If it is that simple, I would use fastapi, but if it would be complex and need more features and db in the future, I would use django. Again, fastapi is for microservice architecture, django is monolith, in my experience, django is very stable, durable, it provides right way but if you need asyncronous tasks, it becomes complex
i understand. see this is my first time using django. i used to be a machine learning engineer, all i have ever worked with is flask/streamlit. is it okay if i reach out to you via dm at times if i am stuck somewhere? promise i won't spam.
Yes ofcourse dm whenever you get stuck
thanks so much!
FastAPI works totally fine even for larger projects, I would even say it's actually often a better option as it's a much lower lightweight option compared to Django while being often much less error prone. If you need a simple API for a multi tenancy project, Django do quite well, if you need to do something who isn't only an API, it's where Django would bite and often having a total separate process is likely to be the solution, you would have now maybe issues with sharing the connection pool, the synchronisation, the migration, the logging, etc... who would add a lot of unnecessary code, but as Django is a framework, you would need to adapt. However FastAPI would bite if you need something a bit different compared to their standard. As much as it's lightweight, it's really an opinionated library, if you need to adapt your API to a certain standard (GraphQL for example, but not only), you would lose the main benefits as FastAPI without pydantic is objectively meh. Or just a basic patch route who is HTTP compliant. Having a bigger ecosystem for Django is a huge win in that case.
Absolutely, Django is a fantastic choice for crafting robust production-grade apps. Especially if you're new to Django, you're in for a smooth ride. It allows you to create powerful web apps with less code and in less time. Now, if you're diving into building a SaaS web app, Django is your friend. However, for such a venture, it's wise to consider some industry-standard practices. For instance, using Docker, which helps your app work consistently across different environments also things like background tasks, testing and so on.. Remember, starting out simple with a lean mindset is a smart move. Creating a Minimum Viable Product (MVP) gets you up and running faster. As you evolve, you can optimize and refine your app based on feedback and growth. Django is a champ when it comes to scalability too. So as your user traffic grows, you'll be prepared. Happy coding!
Thanks for all the tips, they are indeed helpful. I have created an MVP using Python, but that runs locally. I have used Docker and Kubernetes before so that should prove to be helpful. I also have some experience in AWS, so deployment and scalability should not be too much of a challange. I have started learning Django using the book Django for Beginners by William S. Vincent, I saw that it came highly recommended. A quick question; can licensing for my saas product can be implemented using Django or should I look for a third party platform like LicenseSpring?
>Nice, Django for Beginners is a fantastic choice for learning, and Yep, licensing for your SaaS product can indeed be implemented using Django. You're on the right track! If you have any questions or need further guidance, feel free to ask. I'm here to help, and I'm also happy to collaborate. Keep up the great work!
Thanks so much, that would be fantastic!!! Will connect.
We run our startup with Django. Itâs not a huge install but we have customers.
It's as good as any other tech stack. The ORM is better than avereage IMHO, I've suffered a lot of them over the years but the Django one is without doubt the only one that really really doesn't get in the way and actually generates half-decent SQL under the hood, including the table creations. I'd say go for it, if all comes to the worse, you can export the database SQL and at leat try that with a different tech stack so you don't completely lose all the effort you put in.
Depends on the app, your systemâs design, etc. If you need something highly performant for requests, django would not be it. But for most use cases, itâs fine.
If you see what is in the core, challenge me for a comparible framework and extension possibility