如何使用延迟加载且异步的异步中间件在Django请求对象上添加属性?
我正在使用Django3.1,我想开始利用异步视图。作为第一步,我将把我的同步中间件类转换为异步中间件类。除了一个同步中间件类外,其他一切都运行良好 我有一个现有的同步中间件类,它向请求对象添加了一个属性。该属性的值是延迟加载的,因为只有大约5%的请求需要它,并且它必须对数据库进行多次调用 下面是现有的类:如何使用延迟加载且异步的异步中间件在Django请求对象上添加属性?,django,lazy-loading,python-asyncio,django-middleware,Django,Lazy Loading,Python Asyncio,Django Middleware,我正在使用Django3.1,我想开始利用异步视图。作为第一步,我将把我的同步中间件类转换为异步中间件类。除了一个同步中间件类外,其他一切都运行良好 我有一个现有的同步中间件类,它向请求对象添加了一个属性。该属性的值是延迟加载的,因为只有大约5%的请求需要它,并且它必须对数据库进行多次调用 下面是现有的类: from django.utils.functional import SimpleLazyObject from .services import get_account class
from django.utils.functional import SimpleLazyObject
from .services import get_account
class AccountMiddleware:
"""
Add an account to the request
"""
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# get_account function is synchronous
request.account = SimpleLazyObject(lambda: get_account(request))
我尝试过使用现有代码,使用第三方库,并推出自己的解决方案,但我无法让中间件正常工作
如能为我提供指导,我将不胜感激。谢谢