Home | Posts by Category

Learning Django with IPython

I’ve gone a long time without doing any serious web programming because the thought of all the effort you have to put into building a PHP app has been too dispiriting. Web-frameworks sounded interesting, but my brief experience with the poster-child, Ruby on Rails (RoR), was bad. RoR generates a large directory structure which felt overly complicated. It also generates HTML and JavaScript for you which I did not like at all.

Enter Django, the Web-framework for perfectionists with deadlines–it couldn’t have been more tailored to my style of development if I had written it myself. In the past I had become interested in Python a number of times due to the sheer volume of decidedly glowing testimonials for the language. All those testimonials are smart–Python is gorgeous.

So I dove right in and am currently in the middle of one medium- and one large-sized project. Unfortunately, I don’t yet know much about Python or hardly anything about object oriented programming. If you are similarly inexperienced, I highly recommend installing IPython for all your django- admin.py shell-ing. Auto-complete for all Django’s objects can be invaluable for finding what methods and (sub?)-objects are available to the object you’re currently working with.

I’ll post more on Django later, and you can damn-well expect this blog to be replaced with something custom-built in the near future. In the meantime, many thanks to Django’s creators and the awesome Django community for gifting such an awesome web-development tool.