Need advice about which tool to choose?Ask the StackShare community!
Django vs Tornado: What are the differences?
What is Django? The Web framework for perfectionists with deadlines. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
What is Tornado? A Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Django and Tornado can be primarily classified as "Frameworks (Full Stack)" tools.
"Rapid development" is the primary reason why developers consider Django over the competitors, whereas "Open source" was stated as the key factor in picking Tornado.
Django and Tornado are both open source tools. It seems that Django with 42.3K GitHub stars and 18.2K forks on GitHub has more adoption than Tornado with 17.9K GitHub stars and 4.97K GitHub forks.
According to the StackShare community, Django has a broader approval, being mentioned in 979 company stacks & 882 developers stacks; compared to Tornado, which is listed in 69 company stacks and 16 developer stacks.
We’re a new startup so we need to be able to deliver quick changes as we find our product market fit. We’ve also got to ensure that we’re moving money safely, and keeping perfect records. The technologies we’ve chosen mix mature but well maintained frameworks like Django, with modern web-first and api-first front ends like GraphQL, NextJS, and Chakra. We use a little Golang sparingly in our backend to ensure that when we interact with financial services, we do so with statically compiled, strongly typed, and strictly limited and reviewed code.
You can read all about it in our linked blog post.
This website was originally written in Yii as PHP was my main language back then. After learning Django, I realized just how quickly you could build a web app with less lines. So I migrated my website to Django in a week or two and managed to cut down the lines of code by half. Some of the lines saving came from the models, the views, and the expressiveness of Python. Django requires like config for the models and they provide many generic views that abstracts away common patterns.
I am planning to develop project management system SAAS based. Can any one help me with selection of platforms from Django or Laravel and for database MongoDB or Firebase/Firestore or MySql? On front end I am going to use Quasar Framework (VueJS). Note : project will be Webapp, Mobile app and desktop app.
Pros of Django
- Rapid development602
- Open source446
- Great community387
- Easy to learn337
- Mvc249
- Elegant202
- Beautiful code201
- Free180
- Great packages179
- Great libraries167
- Restful55
- Comes with auth and crud admin panel52
- Powerful51
- Great documentation48
- Great for web46
- Python36
- Great orm31
- Great for api27
- All included21
- Web Apps17
- Fast16
- Used by top startups14
- Clean12
- Easy setup11
- Sexy10
- Convention over configuration8
- ORM5
- Allows for very rapid development with great libraries5
- The Django community5
- Mvt3
- Its elegant and practical3
- Great MVC and templating engine3
- Easy to use2
- Easy to develop end to end AI Models2
- Easy Structure , useful inbuilt library2
- Cross-Platform2
- Fast prototyping2
- Full stack2
- Batteries included2
- Easy2
- Great peformance1
- Many libraries1
- Zero code burden to change databases1
- Have not found anything that it can't do1
- Map1
- Scaffold1
- Modular1
- Very quick to get something up and running1
- Just the right level of abstraction1
- Python community1
- Full-Text Search1
- King of backend world1
Pros of Tornado
- Open source37
- So fast30
- Great for microservices architecture25
- Websockets20
- Simple17
- Asynchronous13
- Python9
- Lightweight7
- Handles well persistent connexions3
Sign up to add or upvote prosMake informed product decisions
Cons of Django
- Underpowered templating24
- Underpowered ORM19
- Autoreload restarts whole server18
- URL dispatcher ignores HTTP method15
- Internal subcomponents coupling10
- Not nodejs7
- Admin5
- Configuration hell4
- Not as clean and nice documentation like Laravel3
- Bloated admin panel included2
- Not typed2
- Python2
- Overwhelming folder structure2
- InEffective Multithreading1
Cons of Tornado
- Event loop is complicated2