Inspired by the graphical cheat sheet here, I've recently moved over to Vim as my main development environment.
After installing a whole range of plugins, I found that one of them, taglist, no longer worked with my Django code. The reason was that something was changing the filetype of Django modules to 'python.django', and taglist - unlike most other plugins - was trying to match against the whole filetype, rather than just a part of it.
My solution is to hack taglist so that it does a partial match on the filetype. In the
Tlist_Get_Buffer_Filetype function (line 984), change
let buf_ft = getbufvar(a:bnum, '&filetype')
let buf_ft = split(getbufvar(a:bnum, '&filetype'), '\.')