I had the same problem but my solution was different. I got this error when i tried to open page with firefox. But i could open it with i.e That's all!
2009/1/6 Deniz Dogan <[email protected]> > > On 5 Jan, 11:41, Deniz Dogan <[email protected]> wrote: > > On 5 Jan, 10:47, Deniz Dogan <[email protected]> wrote: > > > > > > > > > Hi > > > > > I'm having trouble when using the AuthenticationForm in Django. It > > > tells me that I haven't enabled cookies, even though I'm completely > > > sure that I have. I get this error: > > > > > "Your Web browser doesn't appear to have cookies enabled. Cookies are > > > required for logging in." > > > > > I've tried restarting Django, the browser, tried several different > > > browsers, etc. I'm completely lost. I read somewhere that the login > > > view has to be called with a GET request before it's called with a > > > POST for this to work, but it *is* called with a GET to actually view > > > the login form in the first place. > > > > > Below is the login view that I'm using. > > > > > --------------------------------- > > > > > def user_login(request): > > > > > if request.user.is_authenticated(): > > > return HttpResponseRedirect('/main/') > > > > > if request.method == 'POST': > > > form = AuthenticationForm(request.POST) > > > if form.is_valid(): > > > login(request, form.get_user()) > > > return HttpResponseRedirect('/main/') > > > else: > > > return render_to_response('login.html', { 'form' : form }) > > > > > else: > > > form = AuthenticationForm() > > > return render_to_response('login.html', { 'form' : form }) > > > > > --------------------------------- > > > > > Thanks, > > > Deniz > > > > I finally managed to help the problem by doing AuthenticationForm > > (None, request.POST). I have understood that None should represent the > > HTTPRequest object so that the form can validate that cookies have > > been enabled. Passing None bypasses this check, but is there any real > > danger in doing this? > > > > Thanks again, > > Deniz > > I think I got it now, so if anyone has the same problem, this is what > happens... > > When the user first reaches the actual login page (by HTTP GET), you > must call request.session.set_test_cookie() which will help > AuthenticationForm later determine whether cookies are enabled on the > user's side. AuthenticationForm checks so that the test cookie has > been set in the POST request from the user and will raise > ValidationError if it's not. So to put it short, when the user reaches > the login page, do request.session.set_test_cookie(), otherwise you > cannot properly test if cookies have been enabled. Of course, if you > don't care if the user has enabled cookies (for whatever reason that > may be), you can just pass None as the first parameter to the > constructor. > > Deniz > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---

