Представления сторонних библиотек Django: определение async vs sync
Я хочу включить async в мою библиотеку Django. Если у меня есть библиотека Django, которая имеет 1) представление sync и 2) urls.py, который указывает на это представление sync, как мне поддерживать и sync и async?
Предположительно, я могу попросить разработчика установить параметр на LIBRARY_ENABLE_ASYNC
, затем в файле views.py я могу написать:
from django.conf import settings
if settings.LIBRARY_ENABLE_ASYNC
async def view(request): pass
else:
def view(request): pass
Но это кажется не совсем... правильным? Конечно, я полагаю, что поскольку мы интегрируемся с Django ORM, мы будем разделять представления на два отдельных файла/каталога/ и файлы urls.py, и разработчик будет просто include()
правильный urls.py на основе того, использует ли он ASGI/WSGI, но в случае, если вышеописанное произойдет, есть ли лучший способ определить, использует ли пользователь ASGI/WSGI?