Fixed #17689 -- Stopped the CachedStaticFilesStorage from trying to hash paths that aren't files.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17535 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
8f4d12ead2
commit
758a0cd0f1
|
@ -105,13 +105,16 @@ class CachedFilesMixin(object):
|
|||
hashed_name, fragment = name, ''
|
||||
else:
|
||||
clean_name, fragment = urldefrag(name)
|
||||
cache_key = self.cache_key(name)
|
||||
hashed_name = self.cache.get(cache_key)
|
||||
if hashed_name is None:
|
||||
hashed_name = self.hashed_name(clean_name).replace('\\', '/')
|
||||
# set the cache if there was a miss
|
||||
# (e.g. if cache server goes down)
|
||||
self.cache.set(cache_key, hashed_name)
|
||||
if urlsplit(clean_name).path.endswith('/'): # don't hash paths
|
||||
hashed_name = name
|
||||
else:
|
||||
cache_key = self.cache_key(name)
|
||||
hashed_name = self.cache.get(cache_key)
|
||||
if hashed_name is None:
|
||||
hashed_name = self.hashed_name(clean_name).replace('\\', '/')
|
||||
# set the cache if there was a miss
|
||||
# (e.g. if cache server goes down)
|
||||
self.cache.set(cache_key, hashed_name)
|
||||
|
||||
final_url = super(CachedFilesMixin, self).url(hashed_name)
|
||||
|
||||
|
|
|
@ -317,6 +317,10 @@ class TestCollectionCachedStorage(BaseCollectionTestCase,
|
|||
"/static/test/file.ea5bccaf16d5.txt")
|
||||
self.assertStaticRenders("cached/styles.css",
|
||||
"/static/cached/styles.93b1147e8552.css")
|
||||
self.assertStaticRenders("path/",
|
||||
"/static/path/")
|
||||
self.assertStaticRenders("path/?query",
|
||||
"/static/path/?query")
|
||||
|
||||
def test_template_tag_simple_content(self):
|
||||
relpath = self.cached_file_path("cached/styles.css")
|
||||
|
|
Loading…
Reference in New Issue