title: Django vs other Python web frameworks?
body: <p>I've pretty much tried every Python web framework that exists, and it took me a long time to realize there wasn't a silver bullet framework, each had its own advantages and disadvantages. I started out with <a href="http://snakelets.sf.net" rel="noreferrer" title="Snakelets">Snakelets</a> and heartily enjoyed being able to control almost everything at a lower level without much fuss, but then I discovered <a href="http://turbogears.org" rel="noreferrer" title="TurboGears">TurboGears</a> and I have been using it (1.x) ever since. Tools like Catwalk and the web console are invaluable to me.</p>
  
  <p>But with TurboGears 2 coming out which brings WSGI support, and after reading up on the religious debates between the Django and WSGI camps, I'm really torn between <strong><em>"doing it the right way"</em></strong>, e.g., learning WSGI, spending valuable time writing functionality that already exists in Django and other full-stack frameworks, as opposed to using Django or some high-level framework that does everything for me. The downsides with the latter that I can see are pretty obvious: </p>
  
  <ol>
  <li>I'm not learning anything in the process</li>
  <li>If I ever need to do anything lower level it's going to be a pain</li>
  <li>The overhead required for just a basic site which uses authentication is insane. (IMO)</li>
  </ol>
  
  <p>So, I guess my question is, which is the better choice, or is it just a matter of opinion, and should I suck it up and use Django if it achieves what I want with minimal fuss (I want authentication and a CRUD interface to my database)? I tried Werkzeug, Glashammer, and friends, but AuthKit and Repoze scared me off, as well as the number of steps involved to just setup basic authentication. I looked at Pylons, but the documentation seems lacking, and when referencing simple features like authentication or a CRUD interface, various wiki pages and documentation seemed to contradict each other, with different hacks for versions and such. </p>
  
  <hr>
  
  <p>Thanks to S. Lott for pointing out that I wasn't clear enough. My question is: which of the following is worthwhile in the long run, but not painful in the short (e.g., some sort of middle ground, anyone?) - Learn WSGI, or stick with a "batteries-included" framework? If the latter, I would appreciate a suggestion as to whether I should give Django another try, stick with TurboGears 1.x, or venture into some other framework. </p>
  
  <p>Also, I have tried CherryPy, but couldn't seem to find a good enough CRUD application that I could plop in and use right away.</p>