Python Monkey patch django.util.cache函数
我在弄清楚如何在django.util.cache中修补一些函数时遇到了问题。我不想编写自己的缓存中间件,我只想要更容易接受的密钥。缓存后端上的make_key属性在我的用例中也不起作用 我试着加上Python Monkey patch django.util.cache函数,python,django,caching,monkeypatching,Python,Django,Caching,Monkeypatching,我在弄清楚如何在django.util.cache中修补一些函数时遇到了问题。我不想编写自己的缓存中间件,我只想要更容易接受的密钥。缓存后端上的make_key属性在我的用例中也不起作用 我试着加上 from django.utils.cache import _generate_cache_key, _generate_cache_header_key from spark_core import middleware _generate_cache_key = middleware._ge
from django.utils.cache import _generate_cache_key, _generate_cache_header_key
from spark_core import middleware
_generate_cache_key = middleware._generate_cache_key
_generate_cache_header_key = middleware._generate_cache_header_key
在我的settings.py文件的底部,但没有任何运气。我正在使用逐站点缓存。对缓存后端进行子类化并覆盖make_-key方法有什么问题?在后端调用make_-key时,已经调用了生成缓存键。我不确定在哪里使用了生成缓存键,但尝试对缓存后端进行子类化并覆盖make_-key方法。我做到了,传递到make_key的键值是由_generate_cache_key生成的值。它不会传递任何信息以及它如何生成密钥路径、参数等,因此我不能只覆盖make_key来自定义密钥,因为我无法访问其中所需的信息。我认为在settings.py中导入django代码不是一个好主意,因为各种django模块都依赖settings.py来工作。最好将其放在models.py文件中。