There are certain situations when you need to preserve path details in the generated cache keys, for example when using a hyerarchical cache that lets you expire whole branches of a site. The current way in which cache keys are built by Django loses all path information as keys are opaques, and furthermore it's impossible for a user to override it, short of monkeypatching utils.cache.get_cache_key() and utils.cache._generate_cache_header_key().
It might be useful to add a config setting where the user can specify a couple of generic functions to use instead of the default ones. It will take little work, and make the cache engine much more extensible for advanced uses.