Journey to Django…

A good number of years ago, I started my Python web development journey with web2py, coming from WordPress first, then Joomla, and choosing the platform instead of Django…

What decided me:

  • Scaffolding: Just creating your models and having a complete CRUD interface generated in one line
  • Fully web based website administration and coding
  • An excellent, complete documentation

I was very, very happy… and started building my website/cms, and built a few websites for client friends, and a looong list of plugins (another great functionality) for multiple purposes, the longest lasting one being a Joomla automation interface plugin that was part of the system allowing the news website I was the technical director and project manager of to reduce manual repetitive work hours from more than 6 hours per day, to less than 30 mns…

I had bet on the horse that would not win the race

Web2py was a student project, a small community formed around it, but it never gained the traction of mainstream, or at least worldwide niche project, and the flaws of the head on/no anlysis developer I was outside of professional work started showing in the way I was using the platform…

And so, I moved away, one step further at a time, until completely abandoning the platform, focusing on WordPress or Joomla for my website developments, trying some other Python platforms, but not Django yet…

Django, finally, but the wrong way…

A year and a half ago, I was entrusted with a medium to large project, that ultimately required a complete, full stack development platform, and at last I started with Django, the obvious best choice.

… But with the coding habits coming from my previous years of work (with web2py too), and went to work forcing MVC coding patterns onto Django MVT’s approach, not looking deep enough into the framework’s logic, or ignoring it to go back to what I knew and was used to, instead of what would beautifully and simply work, if I took the time to adapt and follow guidelines, best practices, and more…

The 1st module delivered was functional, but the code was much, much, much more complex than it needed to be…

The 1st module delivered was functional, yes, but the code was – and I’m not exagerating – 20 or more times more complex than it needed to be

There were other factors at play, into me not being able to properly focus on doing things the right way, but at the end of the day, it is the quality of the results that speak, not the excuses and justifications…

Lessons learned

And so, after the 1st delivery, I took at a hard look at my code, and started the next module at a much slower pace, taking the time to as fully as possible learn the framework for every functionality, process, tool and pattern needed, and ended up working in a much faster pace than I previously did, outputting clear, concise well documented and easy to follow and manage code…

Preventing other (developers) from falling into this (very common) trap

As part of the advanced computer trainings I give, I’ve put together a complete Python Full Stack Django w Django Unicorn practical course…

With a complete small set of maps and diagrams to guide the trainees into as complete mastery as possible of the different aspects of the Framework…

Providing a general blueprint for framework based development

And more generally, the processes structure maps and diagrams are valid for any development / programming framework…

So:

How to make sure that developers out there embrace this or such a methodology and greatly simplify their work, while acquiring the deep knowledge and understanding that will help them thrive in the age of AI ?

This next post may be part of the solution…


Next: Python Full Stack Django +Unicorn Web Development


Read Here

en_USEN