Django在任意非View位置和函数获取当前request请求对象

2022-03-15 00:00:00 函数 请求 获取

先定义一个GlobalRequestMiddleware.py,保存

"""
作者:皮蛋编程(http://www.pidancode.com)
创建日期:2022/3/14
修改日期:2022/3/14
功能描述:Django在任意非View位置和函数获取当前request请求对象
"""
from django.utils._threading_local  import currentThread
_requests = {}

def get_request():
    return _requests[currentThread()]

class GlobalRequestMiddleware(object):
    def process_request(self, request):
        _requests[currentThread()] = request

得到当前request对象的方法

def get_request():
    import GlobalRequestMiddleware
    return GlobalRequestMiddleware.get_request()

相关文章