title: Django's self.client.login(...) does not work in unit tests
body: <p>I have created users for my unit tests in two ways: </p>
  
  <p>1) Create a fixture for "auth.user" that looks roughly like this: </p>
  
  <pre><code>    { 
          "pk": 1, 
          "model": "auth.user", 
          "fields": { 
              "username": "homer", 
              "is_active": 1, 
              "password": 
  "sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2", 
              ... 
          } 
      }
  </code></pre>
  
  <p>I've left out the seemingly unimportant parts. </p>
  
  <p>2) Use 'create_user' in the setUp function (although I'd rather keep 
  everything in my fixtures class): </p>
  
  <pre><code>def setUp(self): 
         User.objects.create_user('homer', 'ho...@simpson.net', 'simpson') 
  </code></pre>
  
  <p>Note that the password is simpson in both cases. </p>
  
  <p>I've verified that this info is correctly being loaded into the test database time and time again. I can grab the User object using User.objects.get. I can verify the password is correct using 'check_password.' The user is active. </p>
  
  <p>Yet, invariably, self.client.login(username='homer', password='simpson') FAILS. I'm baffled as to why. I think I've read every single Internet discussion pertaining to this. Can anybody help? </p>
  
  <p>The login code in my unit test looks like this: </p>
  
  <pre><code>    login = self.client.login(username='homer', password='simpson') 
      self.assertTrue(login) 
  </code></pre>
  
  <p>Thanks.</p>