Learn Django Web Framework
developer.mozilla.org
developer.mozilla.org
I programmed in Python for scientific computing for a dozen years before picking up Django for my first web app. What an absolute joy it's been.
One day I intend to take one of these for an extended spin and see how it contrasts with gluing things together in JavaScript land.
- Out of the box db modeling + true relational schema generation, migrations & rollbacks. Get going with local sqlite right away.
- You can always check what db migrations are going to do by generating the raw SQL for a migration file. [1]
- It has a separate, secure web admin for data management, user management, + whatever [2].
- Combine with e.g. Django REST Framework [3] for REST API functionality.
- Can run it on AWS Lambda with zappa.(<sigh> "serverless")
1 - https://docs.djangoproject.com/en/4.0/ref/models/relations/
2 - https://docs.djangoproject.com/en/4.0/intro/tutorial07/
3 - https://www.django-rest-framework.org/
4 - https://blog.logrocket.com/zappa-and-aws-lambda-for-serverle...
edit: format
Django is absolutely fast enough and it’s pure Python. The benefits are easy and fast development, as well as ability to plug-in a billion of available Python modules, including all of the available AI infrastructure.
[0] https://github.com/deployment-from-scratch/django-2.2-polls
Sure, Django is mostly designed around server-side rendering of full pages, but with DRF you can build REST APIs perfectly fine, and there's also http://django-ninja.rest-framework.com/ which I think is more or less similar to FastAPI in the way you write code with it.
Always use the right tool for the job.
* If you want absolute performance ? - Rust, C, C++
* Mix of performance and ease of development - Go, Java, C#
* Easy development - Python, Ruby, PHP, JS.
And a shitton of other languages in between.
And why's that then?
I will not stop. About three years ago, I put together a small site using Django, at my wife's request. Rewriting it is not a priority.