I just realized that google groups totally mangled the linebreaks with wordwrapping and similar.
Here's the same on dpaste: http://dpaste.com/20145/ jose On Sep 19, 10:48 pm, [EMAIL PROTECTED] wrote: > Hello, all. > > I have a login function for my site that is supposed to test for > cookie support with request.session.set_test_cookie() and friends, but > I cannot seem to get request.session.test_cookie_worked() to return > True.. ever... Just trying to print the value of > request.session['testcookie'] resulted in a KeyError, so presumably > the problem has to do with saving the sessions somewhere between > requests. > > Sessions do appear to work for the rest of my app, and the > contrib.auth.views login view behaves as predicted, but something > about my code seems to cause this lack of working-ness. I have asked > in IRC, but after trying a bunch of things I was advised to ask here. > Included are my login view, activation view, and a view I made that > contains only the cookie-related stuff. > > ### Here's my login function: > > def login(request): > "Displays the login form and handles the login action." > redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '') > if request.POST: > if not request.session.test_cookie_worked(): ## I added this > line to test with. It always raises the exception :\ I wasn't checking > the for cookies working before (oops!), so I didn't notice that. > raise Exception > form = AuthenticationForm(request.POST) > if form.is_valid(): > # Light security check -- make sure redirect_to isn't > garbage. > if not redirect_to or '://' in redirect_to or ' ' in > redirect_to: > from django.conf import settings > redirect_to = settings.LOGIN_REDIRECT_URL > user = > authenticate(username=form.cleaned_data['username'], > password=form.cleaned_data['password']) > if user is not None: > if user.is_active: > request.session.delete_test_cookie() > login(request, user) > return HttpResponseRedirect(redirect_to) > else: > return render_to_response('user_area/login.html', > {'form': form, > > REDIRECT_FIELD_NAME: redirect_to, > > 'redirect_field_name': REDIRECT_FIELD_NAME, > > 'disabled': True}, > > context_instance=RequestContext(request)) > else: > return render_to_response('user_area/login.html', > {'form': form, > > REDIRECT_FIELD_NAME: redirect_to, > > 'redirect_field_name': REDIRECT_FIELD_NAME, > > 'authfail': True}, > > context_instance=RequestContext(request)) > else: > return render_to_response('user_area/login.html', {'form': > form, > > REDIRECT_FIELD_NAME: redirect_to, > > 'redirect_field_name': REDIRECT_FIELD_NAME,}, > > context_instance=RequestContext(request)) > else: > form = AuthenticationForm() > request.session.set_test_cookie() > return render_to_response("user_area/login.html", { > 'form': form, > REDIRECT_FIELD_NAME: redirect_to, > 'redirect_field_name': REDIRECT_FIELD_NAME, > }, context_instance=RequestContext(request)) > > ### Here's my activate function, which also sets a test cookie because > it doubles as a login form > def activate(request, hash): > #u = get_object_or_404(User, userprofile__hash__exact=hash, > is_active__exact=False) > u = get_object_or_404(User, userprofile__hash__exact=hash) > u.is_active = True > u.get_profile().hash = None > u.save() > > redirect_to = request.REQUEST.get(REDIRECT_FIELD_NAME, '') > form = AuthenticationForm() > request.session.set_test_cookie() > print request.session['testcookie'] # prints 'worked' > > return render_to_response("user_area/login.html", { > 'form': form, > 'activated': True, > }, context_instance=RequestContext(request)) > > ### Here is the function that isolates the cookie testing stuff. It > also doesn't work the way it should > def test_cookie(request): > if request.POST: > if not request.session.test_cookie_worked(): > raise Exception > request.session.delete_test_cookie() > return render_to_response("user_area/login.html", { > 'activated': True, > }, > context_instance=RequestContext(request)) > else: > form = AuthenticationForm() > request.session.set_test_cookie() > return render_to_response("user_area/test.html", { > 'form': form, > }, context_instance=RequestContext(request)) > > Any help or suggestions would be much appreciated! > > jose --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---