I’m a Java Spring developer for several years and I wanted to learn something new in a completely different language - so I chose python and since I enjoy backend development, I chose Django as an framework after some time spent on learning python. The thing that is not exactly clear to me is how Django is actually used in real world apps. Dont’ get me wrong, I don’t doubt the importance or complexity of Django.
Me as an Spring developer I am used to having Controller (views in python) and then having controller call some method in service. Services are the place where the whole backend logic happens. I work as a backend developer in a local company and we do some smart home management. One of your product is that we install a smart meter which sends data to our system and show them to user in hourly based consumption. Now, when data from meter hit our system, it needs to go through hundreds of thousands of lines, services and logic. It has to validate, decypher, map to real world value channels, etc.
I don’t seem to understand where would you put the whole logic in python. Most of the logic in small projects that I’ve seen was in the views itself, but when you have large scale application with thousands of lines, views are gonna get messy and complicated. My friend told me about having whole logic in models - that’s kind of a weird solution as well.
So, this gets me to my whole question - is Django made for large scale applications? Or is it just for some utils, easy applications?
Thanks for your understanding and answers!