disclaimers: I didn't read the rest of the thread, and i don't use Django (I've been coding C, perl, python and ruby for years, and now rails).<p>I think the path of least resistance is to learn python and Django well, put some apps up, find out wehre the dev environment on Linux/BSD or mac is strong (editors, test tools, git/SVN), (and maybe make some decent money!).<p>Then branch out, start digging in to problems that web app frameworks solve, and solutions. These solutions would be the ORM, templating system, admin interface (Django's is admired and frequently copied), debuggers, performance profilers, testing stack, Ajax libs.<p>Look at the SQL generated, the HTML and CSS, how easy it is to rotate/analyze logs, DNS (subdomains, permanent redirects, etc), monitor/restart the proxy and servers, caching at all levels (pages and fragments, db queries, fixed assets in the browser). Also look at the mechanisms to plug in functionality, e.g. authentication, file uploads, multiple db connections, etc. That should teach you a lot.