When I started seriously learning python, I used a technique I have never forsaken since; I built a real-world project with deadlines and all that. The application helps property owners collect rent from their tenants through mobile money using USSD.
Every time I fancy a new technology, I look for an actual project with deadlines and all to learn it.
I decided to use flask as the web framework and with it organised my application into a web portal, an API, and a third-party gateway. I had explored Django but never really fancied it's "batteries included" approach. Fast-forward to 2020, I have developed 3 other applications using flask.
In the last few months I picked up Django. I have been using flask primarily due to its minimality and was quite hesitant to pick up Django. However, I have come to this point due to the following reasons:
- Productivity is key and Django already has a number of common tasks done for you already.
- A large number of client projects I get are nothing more than CRUD with a few statistics dashboards.
- A guy I know has always held multiple client projects and have them delivered on time. I thought I should try his framework choice to see if I can deliver as fast.
A lot of work goes into building a complex application with flask. Django has a lot of this work already done
So picking up Django means:
- Authentication is a setup, not a code up.
- I am enjoying using signals (Celery has been overkill in some situations)
- Writing an application now is like building using LEGOs.
Till I write again.