Mam problem, w którym pomyślnie rejestruję użytkowników - jednak chcę, aby użytkownicy byli zalogowani przy rejestracji. Oto kod, który reprezentuje mój widok rejestracji. Wszelkie przemyślenia na temat tego, dlaczego użytkownik nie jest automatycznie zalogowany?Django automatyczne logowanie po rejestracji użytkownika (1.4)
Uwagi:
- Użytkownik jest zarejestrowany poprawnie, mogą log po tej
- authenticate (** kwargs) zwraca poprawną użytkownikowi
W settings.py mam:
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
Dzięki!
def register(request):
user_creation_form = UserCreationForm(request.POST or None)
if request.method == 'POST' and user_creation_form.is_valid():
u_name = user_creation_form.cleaned_data.get('username')
u_pass = user_creation_form.cleaned_data.get('password2')
user_creation_form.save()
print u_name # Prints correct username
print u_pass # Prints correct password
user = authenticate(username=u_name,
password=u_pass)
print 'User: ', user # Prints correct user
login(request, user) # Seems to do nothing
return HttpResponseRedirect('/book/') # User is not logged in on this page
c = RequestContext(request, {'form': user_creation_form})
return render_to_response('register.html', c)
Dzięki! To też dobrze wiedzieć. – zallarak
Używam tego również – nemesisdesign