{{{
django-admin startproject myproject
}}}
views.py
{{{
from django.views.generic import FormView
class TestView(FormView):
async def post(self, request, *args, **kwargs):
return 'Foobar'
}}}
urls.py
{{{
from django.contrib import admin
from django.urls import path
from myproject.views import TestView
urlpatterns = [
path('admin/', admin.site.urls),
path('test/', TestView.as_view()),
]
}}}
This should raise
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
Running the devserver via manage.py results in
{{{
C:\code\myproject\venv\Scripts\python.exe C:\code\myproject\manage.py
runserver 8000
Performing system checks...
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\threading.py", line 1038, in
_bootstrap_inner
self.run()
File "C:\Program Files\Python311\Lib\threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\management\commands\runserver.py", line 134, in
inner_run
self.check(display_num_errors=True)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\management\base.py", line 475, in check
all_issues = checks.run_checks(
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\urls.py", line 14, in check_url_config
return check_resolver(resolver)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\urls.py", line 24, in check_resolver
return check_method()
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 494, in check
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
}}}
Now the same thing with hypercorn will result in some sort of recursion
that I do not understand.
Uvicorn behaves the same way.
{{{
(venv) λ hypercorn myproject.asgi:application
[2023-03-31 11:54:00 +0200] [16000] [WARNING] ASGI Framework Lifespan
error, continuing without Lifespan support
[2023-03-31 11:54:00 +0200] [16000] [INFO] Running on
http://127.0.0.1:8000 (CTRL + C to quit)
[2023-03-31 11:54:08 +0200] [16000] [ERROR] Error in ASGI Framework
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 235, in _get_response_async
callback, callback_args, callback_kwargs =
self.resolve_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 313, in resolve_request
resolver_match = resolver.resolve(request.path_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\asyncio\task_group.py", line 23, in _handle
await app(scope, receive, send, sync_spawn, call_soon)
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\app_wrappers.py", line 33, in __call__
await self.app(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 155, in __call__
await self.handle(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 178, in handle
response = await self.get_response_async(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 162, in get_response_async
response = await self._middleware_chain(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
[2023-03-31 11:54:12 +0200] [16000] [ERROR] Error in ASGI Framework
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 235, in _get_response_async
callback, callback_args, callback_kwargs =
self.resolve_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 313, in resolve_request
resolver_match = resolver.resolve(request.path_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\asyncio\task_group.py", line 23, in _handle
await app(scope, receive, send, sync_spawn, call_soon)
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\app_wrappers.py", line 33, in __call__
await self.app(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 155, in __call__
await self.handle(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 178, in handle
response = await self.get_response_async(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 162, in get_response_async
response = await self._middleware_chain(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 8, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
}}}
==
#############################################################################################
==
#############################################################################################
In my personal project this leads to a strange problem with django-ninja
api.py
{{{
from ninja import NinjaAPI
api = NinjaAPI()
}}}
urls.py
{{{
from django.contrib import admin
from django.urls import path
from myproject.api import api
from myproject.views import TestView
urlpatterns = [
path('admin/', admin.site.urls),
path("api/", api.urls),
path('test/', TestView.as_view()),
]
}}}
manage.py devserver:
{{{
C:\code\myproject\venv\Scripts\python.exe C:\code\myproject\manage.py
runserver 8000
Watching for file changes with StatReloader
Performing system checks...
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\threading.py", line 1038, in
_bootstrap_inner
self.run()
File "C:\Program Files\Python311\Lib\threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\management\commands\runserver.py", line 134, in
inner_run
self.check(display_num_errors=True)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\management\base.py", line 475, in check
all_issues = checks.run_checks(
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\urls.py", line 14, in check_url_config
return check_resolver(resolver)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\checks\urls.py", line 24, in check_resolver
return check_method()
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 494, in check
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 10, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
}}}
With hypercorn:
{{{
(venv) λ hypercorn myproject.asgi:application
[2023-03-31 12:03:33 +0200] [20028] [WARNING] ASGI Framework Lifespan
error, continuing without Lifespan support
[2023-03-31 12:03:33 +0200] [20028] [INFO] Running on
http://127.0.0.1:8000 (CTRL + C to quit)
[2023-03-31 12:03:40 +0200] [20028] [ERROR] Error in ASGI Framework
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 235, in _get_response_async
callback, callback_args, callback_kwargs =
self.resolve_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 313, in resolve_request
resolver_match = resolver.resolve(request.path_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 10, in <module>
path('test/', TestView.as_view()),
^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 119, in as_view
if cls.view_is_async:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 71, in __get__
return self.fget(cls)
^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\views\generic\base.py", line 73, in view_is_async
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: TestView HTTP handlers must
either be all sync or all async.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
486, in thread_handler
raise exc_info[1]
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 43, in inner
response = await get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\deprecation.py", line 152, in __acall__
response = response or await self.get_response(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\asyncio\task_group.py", line 23, in _handle
await app(scope, receive, send, sync_spawn, call_soon)
File "C:\code\myproject\venv\Lib\site-
packages\hypercorn\app_wrappers.py", line 33, in __call__
await self.app(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 155, in __call__
await self.handle(scope, receive, send)
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\asgi.py", line 178, in handle
response = await self.get_response_async(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\base.py", line 162, in get_response_async
response = await self._middleware_chain(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 45, in inner
response = await sync_to_async(
^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
448, in __call__
ret = await asyncio.wait_for(future, timeout=None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\asyncio\tasks.py", line 442, in
wait_for
return await fut
^^^^^^^^^
File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line
58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\asgiref\sync.py", line
488, in thread_handler
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 141, in
response_for_exception
response = handle_uncaught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\core\handlers\exception.py", line 182, in
handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 66, in technical_500_response
html = reporter.get_traceback_html()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 396, in get_traceback_html
c = Context(self.get_traceback_data(), use_l10n=False)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 381, in get_traceback_data
c["raising_view_name"] = get_caller(self.request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\views\debug.py",
line 99, in get_caller
resolver_match = resolve(request.path)
^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\django\urls\base.py",
line 24, in resolve
return get_resolver(urlconf).resolve(path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 663, in resolve
for pattern in self.url_patterns:
^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 715, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns",
self.urlconf_module)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\utils\functional.py", line 57, in __get__
res = instance.__dict__[self.name] = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "C:\code\myproject\venv\Lib\site-
packages\django\urls\resolvers.py", line 708, in urlconf_module
return import_module(self.urlconf_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\importlib\__init__.py", line 126,
in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File "C:\code\myproject\myproject\urls.py", line 9, in <module>
path("api/", api.urls),
^^^^^^^^
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 379,
in urls
self._validate()
File "C:\code\myproject\venv\Lib\site-packages\ninja\main.py", line 494,
in _validate
raise ConfigError(msg.strip())
ninja.errors.ConfigError: Looks like you created multiple NinjaAPIs or
TestClients
To let ninja distinguish them you need to set either unique version or
urls_namespace
- NinjaAPI(..., version='2.0.0')
- NinjaAPI(..., urls_namespace='otherapi')
Already registered: ['api-1.0.0']
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/34451>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Old description:
> start with
>
> {{{
> django-admin startproject myproject
> }}}
>
New description:
start with
{{{
django-admin startproject myproject
}}}
views.py
{{{
from django.views.generic import FormView
class TestView(FormView):
from myproject.views import TestView
}}}
... (the same frame over and over again)
}}}
==
#############################################################################################
api = NinjaAPI()
}}}
manage.py devserver:
}}}
With hypercorn:
... (the same frame over and over again)
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/34451#comment:1>
Old description:
> start with
>
> {{{
> django-admin startproject myproject
> }}}
>
New description:
start with
{{{
django-admin startproject myproject
}}}
views.py
{{{
from django.views.generic import FormView
class TestView(FormView):
from myproject.views import TestView
}}}
-----
api = NinjaAPI()
}}}
manage.py devserver:
}}}
With hypercorn:
--
--
Ticket URL: <https://code.djangoproject.com/ticket/34451#comment:2>
* cc: asgi (added)
* resolution: => invalid
* status: new => closed
* component: Uncategorized => Core (Other)
Comment:
Hi, thanks for the report, however, I don't think you've explained the
issue in enough detail to confirm a bug in Django. It works fine with
Django built-in `runserver` and with `daphne`'s `runserver` (see
[https://docs.djangoproject.com/en/dev/howto/deployment/asgi/daphne/
docs]). The repeated frame (5-6 times) in a non-development web servers
doesn't look like an issue in Django itself.
TBH, I think it's an issue in web servers. For example, it works properly
when I change `ImproperlyConfigured` class to inherit from `BaseException`
instead of `Exception`, but that should not be the case as `BaseException`
[https://docs.python.org/3/library/exceptions.html?highlight=baseexception#BaseException
is not intended to be directly inherited] from user-defined exceptions.
IMO, you should try to report it in web server bug trackers or in Python
itself (check for duplicated first).
--
Ticket URL: <https://code.djangoproject.com/ticket/34451#comment:3>