Django still one of my most loved tools to get things done

Posted on Tue 15 March 2016 in Python

Since I never would call me a developer this is just a short article why I still love the Django framework for some years now.

Most of my daily work is done on the command line and with automated tasks since tools like Puppet and later Ansible got popular. For my personal tasks I try to automate as much as I can without hiding to much knowledge. Some tasks are still not automated or split in different single tasks in my day time job. I like to know what dependencies are between tasks so you still know whats going on behind each single task. In my opinion a complete automation turns administrators into zombies who have to reverse engineer their own code when things go wrong. Knowledge about the automation is hard to transfer and hard to have it in mind if you need it.

The small tools I need for my private projects are mostly written in Python so I tried Django some years ago and I am still using it from time to time. I built a very basic project skeleton I reuse for my tasks and for me it is still a nice tool. It does its job quite well, has an active community and is easy to learn.

Reasons I love Django:

Python:

Well I never choose to learn Python actively. There where a lot of tools written in Python which I found interesting. Since one of my first languages I used was Perl I found myself in the middle of the Perl vs. Python war in the early 2000 years and got interested. It was not the language as more the infrastructure, documentation and the available libraries that sucked me in the Python world.

Packages:

There is a package for everything. Check the package libraries for Django or Github for projects implemented with Django and you will find everything you need. The community is so big and there are a lot of useful and high quality packages. A lot of these packages are under active development for years and that is a very big point for me.

Get things done:

Programming is not a passion and my code really sucks. The only reason I am doing it is to get things done better, faster and easier. Therefor I choose tools which have the same way of thinking. Frameworks and libraries should focus on getting things done and help users to get their things done. Django is one of those tools which helped me to get my stuff done.

Documentation:

A project without documentation is not a project you should use. The Django project does quite a good job on updating their documentation when a new release is rolled out. The changes and differences are explained very well and most of the time there is a migration path. Well it never is fun to update old code and projects but at least the guys try to give you all information to do so.