mirror of
https://github.com/django/django.git
synced 2025-03-31 19:46:42 +00:00
[3.1.x] Fixed #31654 -- Fixed cache key validation messages.
Backport of 926148ef019abcac3a9988c78734d9336d69f24e from master
This commit is contained in:
parent
acaa201527
commit
031a082d41
2
django/core/cache/backends/base.py
vendored
2
django/core/cache/backends/base.py
vendored
@ -287,6 +287,6 @@ def memcache_key_warnings(key):
|
|||||||
if ord(char) < 33 or ord(char) == 127:
|
if ord(char) < 33 or ord(char) == 127:
|
||||||
yield (
|
yield (
|
||||||
'Cache key contains characters that will cause errors if '
|
'Cache key contains characters that will cause errors if '
|
||||||
'used with memcached: %r' % key, CacheKeyWarning
|
'used with memcached: %r' % key
|
||||||
)
|
)
|
||||||
break
|
break
|
||||||
|
13
docs/releases/2.2.14.txt
Normal file
13
docs/releases/2.2.14.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
===========================
|
||||||
|
Django 2.2.14 release notes
|
||||||
|
===========================
|
||||||
|
|
||||||
|
*Expected July 1, 2020*
|
||||||
|
|
||||||
|
Django 2.2.14 fixes a bug in 2.2.13.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
========
|
||||||
|
|
||||||
|
* Fixed messages of ``InvalidCacheKey`` exceptions and ``CacheKeyWarning``
|
||||||
|
warnings raised by cache key validation (:ticket:`31654`).
|
@ -9,4 +9,5 @@ Django 3.0.8 fixes several bugs in 3.0.7.
|
|||||||
Bugfixes
|
Bugfixes
|
||||||
========
|
========
|
||||||
|
|
||||||
* ...
|
* Fixed messages of ``InvalidCacheKey`` exceptions and ``CacheKeyWarning``
|
||||||
|
warnings raised by cache key validation (:ticket:`31654`).
|
||||||
|
@ -47,6 +47,7 @@ versions of the documentation contain the release notes for any later releases.
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
2.2.14
|
||||||
2.2.13
|
2.2.13
|
||||||
2.2.12
|
2.2.12
|
||||||
2.2.11
|
2.2.11
|
||||||
|
6
tests/cache/tests.py
vendored
6
tests/cache/tests.py
vendored
@ -637,8 +637,9 @@ class BaseCacheTests:
|
|||||||
cache.key_func = func
|
cache.key_func = func
|
||||||
|
|
||||||
try:
|
try:
|
||||||
with self.assertWarnsMessage(CacheKeyWarning, expected_warning):
|
with self.assertWarns(CacheKeyWarning) as cm:
|
||||||
cache.set(key, 'value')
|
cache.set(key, 'value')
|
||||||
|
self.assertEqual(str(cm.warning), expected_warning)
|
||||||
finally:
|
finally:
|
||||||
cache.key_func = old_func
|
cache.key_func = old_func
|
||||||
|
|
||||||
@ -1276,8 +1277,9 @@ class BaseMemcachedTests(BaseCacheTests):
|
|||||||
invalid key.
|
invalid key.
|
||||||
"""
|
"""
|
||||||
msg = expected_warning.replace(key, cache.make_key(key))
|
msg = expected_warning.replace(key, cache.make_key(key))
|
||||||
with self.assertRaisesMessage(InvalidCacheKey, msg):
|
with self.assertRaises(InvalidCacheKey) as cm:
|
||||||
cache.set(key, 'value')
|
cache.set(key, 'value')
|
||||||
|
self.assertEqual(str(cm.exception), msg)
|
||||||
|
|
||||||
def test_default_never_expiring_timeout(self):
|
def test_default_never_expiring_timeout(self):
|
||||||
# Regression test for #22845
|
# Regression test for #22845
|
||||||
|
Loading…
x
Reference in New Issue
Block a user