包含用于存储和从threadlocals检索值的实用程序,以及用于将当前django请求放入threadlocal存储的中间件。
django-threadlocals的Python项目详细描述
设置/使用
使用pip install django-threadlocals
将threadlocals.middleware.ThreadLocalMiddleware
添加到MIDDLEWARE_CLASSES
设置中。
然后按如下方式使用:
示例用法:
fromthreadlocals.threadlocalsimportget_current_requestrequest=get_current_request()
警告清空器
将请求存储在threadlocals中与几个django核心开发人员反对使用threadlocals的强烈倾向背道而驰。 有关更深入的讨论,请参见this thread on django-users。 我们建议您不要这样做,除非您有充分的理由这样做。我们觉得我们有一个非常好的 原因(目前为止我们唯一遇到的原因): threadlocals中的请求是核心部分,它允许我们在django之上构建一个真正的多租户系统,该系统基于当前主机动态解析站点, 对象将根据当前主机进行筛选。对于当前版本的django,如果没有threadlocals中的请求,这几乎是不可能的。这是一项非常重要和先进的工作,但我们对结果感到满意。
测试
运行测试:
python tester/manage.py test