Fixed #2503 -- Fixed HttpResponse.delete_cookie() to work properly. It now takes path and domain as optional keyword arguments.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3545 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
2c370e1a08
commit
925c711cf7
|
@ -38,7 +38,7 @@ class HttpRequest(object):
|
|||
|
||||
def get_full_path(self):
|
||||
return ''
|
||||
|
||||
|
||||
def is_secure(self):
|
||||
return os.environ.get("HTTPS") == "on"
|
||||
|
||||
|
@ -203,11 +203,14 @@ class HttpResponse(object):
|
|||
if val is not None:
|
||||
self.cookies[key][var.replace('_', '-')] = val
|
||||
|
||||
def delete_cookie(self, key):
|
||||
try:
|
||||
self.cookies[key]['max_age'] = 0
|
||||
except KeyError:
|
||||
pass
|
||||
def delete_cookie(self, key, path='/', domain=None):
|
||||
self.cookies[key] = ''
|
||||
if path is not None:
|
||||
self.cookies[key]['path'] = path
|
||||
if domain is not None:
|
||||
self.cookies[key]['domain'] = path
|
||||
self.cookies[key]['expires'] = 0
|
||||
self.cookies[key]['max-age'] = 0
|
||||
|
||||
def _get_content(self):
|
||||
content = ''.join(self._iterator)
|
||||
|
|
|
@ -149,7 +149,7 @@ Methods
|
|||
Returns the ``path``, plus an appended query string, if applicable.
|
||||
|
||||
Example: ``"/music/bands/the_beatles/?print=true"``
|
||||
|
||||
|
||||
``is_secure()``
|
||||
Returns ``True`` if the request is secure; that is, if it was made with
|
||||
HTTPS.
|
||||
|
@ -380,10 +380,14 @@ Methods
|
|||
|
||||
.. _`cookie Morsel`: http://www.python.org/doc/current/lib/morsel-objects.html
|
||||
|
||||
``delete_cookie(key)``
|
||||
``delete_cookie(key, path='/', domain=None)``
|
||||
Deletes the cookie with the given key. Fails silently if the key doesn't
|
||||
exist.
|
||||
|
||||
The ``path`` and ``domain`` arguments are new in the Django development version.
|
||||
Due to the way cookies work, ``path`` and ``domain`` should be the same
|
||||
values you used in ``set_cookie()`` -- otherwise the cookie may not be deleted.
|
||||
|
||||
``content``
|
||||
Returns the content as a Python string, encoding it from a Unicode object
|
||||
if necessary. Note this is a property, not a method, so use ``r.content``
|
||||
|
|
Loading…
Reference in New Issue