=================== Contrib =================== Manually Authenticating a User: --------------------------------- `django.contrib.auth` defines a method named `login`, with the following signature (in the file `__init__.py`):: def login(request, user): """ Persist a user id and a backend in the request. This way a user doesn't have to reauthenticate on every request. """ login takes request and the user object. However, passing a standard user object and a request, doesn't log the user in, when logging in manually, because `authenticate()` sets an extra argument on the user object, that is used for logging in. Solution: When loggining in the user manually, first use the authenticate method.:: user_auth = authenticate(username=new_user.username, password=pw1) login(request, user_auth)