Hey there, Dane.
I ran in to this same problem, needing to delete a cookie. Just
wanted to let you know the solution that worked for me was to ALSO set
the path just as you would when you were setting the cookie.
For instance:
- Setting the cookie:
response.cookies['test_cookie'] = 'valid'
response.cookies['test_cookie']['expires'] = 3600
response.cookies['test_cookie']['path'] = '/'
- Delete cookie
response.cookies['test_cookie'] = 'invalid'
response.cookies['test_cookie']['expires'] = -10
response.cookies['test_cookie']['path'] = '/'
Works for me. Let me know if you have any luck.
Hope that helps!
-Oliver
On Feb 7, 2:11 pm, Dane <
dane.schnei...@gmail.com> wrote:
> Ok, now I'm using this code:
>
> for r in [request, response]:
> if r.cookies.has_key('user'):
> r.cookies['user']['expires'] =
> datetime.datetime.strftime(datetime.datetime(2011,1,1,0,0), "%a, %d-%b-
> %Y %H:%M:%S GMT")
> print 'remove %s usercookie' % ('request' if r == request
> else 'response')
>
> And still mycookieisn't going away...
> > "You cannot directlydeleteacookieon a user's computer. However,
> > you can direct the user's browser todeletethecookieby setting the
> >cookie'sexpiration date to a past date. The next time a user makes a
> > request to a page within the domain or path that set thecookie, the
> > browser will determine that thecookiehas expired and remove it."
>
> > On Feb 7, 1:28 am, Dane <
dane.schnei...@gmail.com> wrote:
>
> > > Hello,
>
> > > I've got my own user system (not using Auth), and I'm trying to
> > > implement a Remember Me option with cookies. It's working fine when
> > > the user selects 'Yes' for remember me. Setting and detecting the
> > >cookieis no problem, but I can't find a way todeletethecookiewhen
> > > the user logs out or selects 'No'. Here's my code which attempts
> > > everything I can think of.
>
> > > if request.cookies.has_key('user'):
> > > request.cookies['user'].clear()
> > > del request.cookies['user']
> > > print 'remove request usercookie'
> > > if response.cookies.has_key('user'):
> > > response.cookies['user'].clear()
> > > del response.cookies['user']
> > > print 'remove response usercookie'
>
> > > After running this, request.cookies.has_key('user') is still returning
> > > true and thecookie'sdata is still present.
>
> > > Ideas? Thanks.