Chicago Django/Python Blog - Imaginary Landscape

Upgrades: Django Old to Django New

April 09, 2013 9:51 a.m.

Upgrades: Making the Jump from Django Old to Django New


Sometimes we are faced with the challenge of upgrading old Django-based projects.  The task can be daunting, as a lot has happened in Django within the last few years.  Since Django 1.1.1, Django has been through 15 micro releases and 4 minor releases. The term "minor" seems deceptive as a lot of changes occur between Django 1.x and 1.[x+1].  The ideal situation would be to incrementally keep one's Django application up to date as new releases are issued; that's not always possible for ...

Read More


Updated 04/09/13 @ 09:51AM CDT by jjasinski

Bookmark and Share

Categories: Django Python

Tags: django latest python upgrade

0 Comments

Testing and Django

November 21, 2012 12:56 p.m.

Recently I have just enjoyed my first anniversary working at Imaginary. It has been a pleasure. Working in such a professional environment, with a great team of collegues, using Django and Python to solve problems I've never encountered before is, I have to say, a great experience to have as a day job.

More recently, I experienced another first. At the last Chicago Djangonauts meeting, which we host in our office, I gave my first Python/Django talk. I spoke regarding unit-testing your code in general, but, also how unit-testing works within the context of web-applications.

The talk went ...

Read More


Updated 11/21/12 @ 12:56PM CST by dlacewell

Bookmark and Share

Categories: Django Python


Provisioning, Deployments and Testing - Oh my!

July 05, 2012 2:49 p.m.

Here at Imaginary Landscape, we have an initative to explore solutions to some of our on-going deployment meta-problems. Those problems include things like standardizing our Django project structures and the hosting environments in which we host them. Another challenge that we have been considering is testing our sites locally.

After some initial research for existing solutions to these problems, some useful-looking candidates appeared. Specifically for provisioning and deployment, packages like Puppet and Chef revealed themselves as strong utilities that are currently gaining popularity and already have large, established communities. These packages provide a Domain Specific Language which is used to ...

Read More


Updated 07/05/12 @ 02:49PM CDT by dlacewell

Bookmark and Share

Categories: Python


Testing As a Different Django User

June 25, 2012 4:13 p.m.

All types of Django auth do basically the same thing: They associate a browser session ID with a Django user if the user logs-in successfully.  I found a neat technique to bypass a Django login by modifying with a Django session, which can be useful for testing purposes.

Why is this trick this useful?  Sometimes it's difficult to replicate a login that uses a complicated authentication system (i.e. Facebook auth or OpenID auth) when developing on a local desktop.  I've sometimes found myself wanting to browse a local development copy of a site from the perspective of ...

Read More


Updated 06/25/12 @ 04:13PM CDT by jjasinski

Bookmark and Share

Categories: Django Python


Managing multiple SSH identities

April 30, 2012 3:51 p.m.

Here at Imaginary we maintain our own git repositories internally with the help of the invaluable utility, Gitolite. This works well for us. However, in some cases, our clients have their own repositories that we must interact with.

The problem arises when the client repositories reside on a third-party service, usually Github. As you likely know, Github uses ssh public-key authentication and before you can clone or push to repositories you need to register your public-key with the site.

The situation typically involves the client adding our company Github account as a collaborator on one of their repositories. If I ...

Read More


Updated 04/30/12 @ 03:51PM CDT by dlacewell

Bookmark and Share

Categories: Python


Sewing Success with Fabric

December 28, 2011 6:27 p.m.

I wanted to share a quick practical example of how Fabric, can make your development life easier. If you're unfamiliar with Fabric I recommend checking out its tutorial which describes Fabric thusly;

Fabric is a Python (2.5 or higher) library and command-line tool for streamlining

the use of SSH for 
application deployment or systems administration tasks.

The tutorial is a great resource as Fabric does not have a dense API. In fact, it has a childishly simple API. Today, I found myself using it to simplify a process I had been repeatedly performing manually. A client site of ...

Read More


Updated 12/28/11 @ 06:27PM CST by dlacewell

Bookmark and Share

Categories: Django Python

Tags: deployment fabric python


Geo Django Quickstart

September 21, 2011 12:37 p.m.

GeoDjango is a very powerful tool for storing and manipulating geographic data using the Django ORM.  It provides a simple API to determine distances between two points on a map, find areas of polygons, locate the points within a polygon, and much more.  

GeoDjango is fairly well documented on the Django website.  My aim with this walkthrough is to reduce the Django documentation to a simple set of steps that will quickly get you started experimenting with GeoDjango.  As a result, some of the initial steps are summarized from the Django site with only slight modifications to fit the circumstances ...

Read More


Updated 09/21/11 @ 12:37PM CDT by jjasinski

Bookmark and Share

Categories: Django Python

Tags: django geo geographic geospatial latitude longitude python


Django Admin Snippets

August 29, 2011 9:47 a.m.

At its minimum, the Django Admin is an effective tool for viewing and manipulating data within a Django database.  At its max, it can be a robust application allowing clients and administrators to better manage their web applications.  

This article aims to highlight some of the admin customizations that I find particularly useful when trying to make the admin more than just a data browsing tool.  If you’d like to follow along with this tutorial, you may view the associated, fully-functional Django Application at github: https://github.com/imagescape/chicagodjango-demo1.  The purpose of this application is simply to demonstrate ...

Read More


Updated 08/29/11 @ 09:47AM CDT by jjasinski

Bookmark and Share

Categories: Django Python

Tags: admin customization django hacks programming python


Looking for the right Djangonaut

August 03, 2011 10:37 a.m.

Right off the bat I'll admit bias.  I think Imaginary Landscape is a great place to work.  We've been around since 1995 and programming in Python since 1999.  We are a 4-time sponsor of PyCon and a 3-time sponsor of DjangoCon.  We hosted the first ChiPy meeting and are actively involved in Chicago Djangonauts.  Imaginary was instrumental in getting DjangoCon US 2013 to Chicago.  We are committed to making Chicago the center of the universe for Django.

Throughout the years, some great people have worked with Imaginary.  Take a look at some of our staff and contractor alum ...

Read More


Updated 08/03/11 @ 10:37AM CDT by brian

Bookmark and Share

Categories: Django Python


PyCon, Django in Chicago and general musings

March 23, 2011 1:39 p.m.

For the fourth year in a row, we have just completed our sponsorship of PyCon.  Each time I return to the office after the conference ends, I am filled with a particular energy.  This year that energy is more pronounced.

In many ways, our day-to-day work is done in relative isolation.  Most of our clients don't really know or care about the stack we use.  Quite frankly, they wouldn't know Python unless it bit them in the 6.  All the more reason why it is energizing to immerse in a group of people who care deeply.

Now that ...

Read More


Updated 03/23/11 @ 01:39PM CDT by brian

Bookmark and Share

Categories: Django Python


(877) 275-9144 Toll Free | M-F:9-5

Imaginary Landscape, LLC 5121 North Ravenswood Avenue Chicago, Illinois 60640