From 05958e35794b503f07cb2e748c58201ef1068893 Mon Sep 17 00:00:00 2001 From: amirreza Date: Mon, 24 Mar 2025 16:28:33 +0330 Subject: [PATCH 1/3] restructure the package without `a` prefix --- django_async_extensions/aforms/__init__.py | 4 ---- .../{acontrib => contrib}/__init__.py | 0 .../{acontrib => contrib}/auth/__init__.py | 0 .../{acontrib => contrib}/auth/mixins.py | 0 django_async_extensions/{acore => core}/__init__.py | 0 django_async_extensions/{acore => core}/paginator.py | 0 django_async_extensions/forms/__init__.py | 4 ++++ django_async_extensions/{aforms => forms}/models.py | 2 +- django_async_extensions/{aforms => forms}/utils.py | 0 .../{amiddleware => middleware}/__init__.py | 0 .../{amiddleware => middleware}/base.py | 0 django_async_extensions/{aviews => views}/__init__.py | 0 .../{aviews => views}/generic/__init__.py | 10 +++++----- .../{aviews => views}/generic/base.py | 0 .../{aviews => views}/generic/dates.py | 6 +++--- .../{aviews => views}/generic/detail.py | 2 +- .../{aviews => views}/generic/edit.py | 6 +++--- .../{aviews => views}/generic/list.py | 4 ++-- 18 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 django_async_extensions/aforms/__init__.py rename django_async_extensions/{acontrib => contrib}/__init__.py (100%) rename django_async_extensions/{acontrib => contrib}/auth/__init__.py (100%) rename django_async_extensions/{acontrib => contrib}/auth/mixins.py (100%) rename django_async_extensions/{acore => core}/__init__.py (100%) rename django_async_extensions/{acore => core}/paginator.py (100%) create mode 100644 django_async_extensions/forms/__init__.py rename django_async_extensions/{aforms => forms}/models.py (97%) rename django_async_extensions/{aforms => forms}/utils.py (100%) rename django_async_extensions/{amiddleware => middleware}/__init__.py (100%) rename django_async_extensions/{amiddleware => middleware}/base.py (100%) rename django_async_extensions/{aviews => views}/__init__.py (100%) rename django_async_extensions/{aviews => views}/generic/__init__.py (70%) rename django_async_extensions/{aviews => views}/generic/base.py (100%) rename django_async_extensions/{aviews => views}/generic/dates.py (99%) rename django_async_extensions/{aviews => views}/generic/detail.py (99%) rename django_async_extensions/{aviews => views}/generic/edit.py (98%) rename django_async_extensions/{aviews => views}/generic/list.py (98%) diff --git a/django_async_extensions/aforms/__init__.py b/django_async_extensions/aforms/__init__.py deleted file mode 100644 index 7a7922d..0000000 --- a/django_async_extensions/aforms/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from django_async_extensions.aforms.models import AsyncModelForm - - -__all__ = ("AsyncModelForm",) diff --git a/django_async_extensions/acontrib/__init__.py b/django_async_extensions/contrib/__init__.py similarity index 100% rename from django_async_extensions/acontrib/__init__.py rename to django_async_extensions/contrib/__init__.py diff --git a/django_async_extensions/acontrib/auth/__init__.py b/django_async_extensions/contrib/auth/__init__.py similarity index 100% rename from django_async_extensions/acontrib/auth/__init__.py rename to django_async_extensions/contrib/auth/__init__.py diff --git a/django_async_extensions/acontrib/auth/mixins.py b/django_async_extensions/contrib/auth/mixins.py similarity index 100% rename from django_async_extensions/acontrib/auth/mixins.py rename to django_async_extensions/contrib/auth/mixins.py diff --git a/django_async_extensions/acore/__init__.py b/django_async_extensions/core/__init__.py similarity index 100% rename from django_async_extensions/acore/__init__.py rename to django_async_extensions/core/__init__.py diff --git a/django_async_extensions/acore/paginator.py b/django_async_extensions/core/paginator.py similarity index 100% rename from django_async_extensions/acore/paginator.py rename to django_async_extensions/core/paginator.py diff --git a/django_async_extensions/forms/__init__.py b/django_async_extensions/forms/__init__.py new file mode 100644 index 0000000..571d3f9 --- /dev/null +++ b/django_async_extensions/forms/__init__.py @@ -0,0 +1,4 @@ +from django_async_extensions.forms.models import AsyncModelForm + + +__all__ = ("AsyncModelForm",) diff --git a/django_async_extensions/aforms/models.py b/django_async_extensions/forms/models.py similarity index 97% rename from django_async_extensions/aforms/models.py rename to django_async_extensions/forms/models.py index cef0ede..a5c9428 100644 --- a/django_async_extensions/aforms/models.py +++ b/django_async_extensions/forms/models.py @@ -4,7 +4,7 @@ from django.forms.models import ModelForm -from django_async_extensions.aforms.utils import AsyncRenderableFormMixin +from django_async_extensions.forms.utils import AsyncRenderableFormMixin class AsyncModelForm(AsyncRenderableFormMixin, ModelForm): diff --git a/django_async_extensions/aforms/utils.py b/django_async_extensions/forms/utils.py similarity index 100% rename from django_async_extensions/aforms/utils.py rename to django_async_extensions/forms/utils.py diff --git a/django_async_extensions/amiddleware/__init__.py b/django_async_extensions/middleware/__init__.py similarity index 100% rename from django_async_extensions/amiddleware/__init__.py rename to django_async_extensions/middleware/__init__.py diff --git a/django_async_extensions/amiddleware/base.py b/django_async_extensions/middleware/base.py similarity index 100% rename from django_async_extensions/amiddleware/base.py rename to django_async_extensions/middleware/base.py diff --git a/django_async_extensions/aviews/__init__.py b/django_async_extensions/views/__init__.py similarity index 100% rename from django_async_extensions/aviews/__init__.py rename to django_async_extensions/views/__init__.py diff --git a/django_async_extensions/aviews/generic/__init__.py b/django_async_extensions/views/generic/__init__.py similarity index 70% rename from django_async_extensions/aviews/generic/__init__.py rename to django_async_extensions/views/generic/__init__.py index 7c714f0..cf68157 100644 --- a/django_async_extensions/aviews/generic/__init__.py +++ b/django_async_extensions/views/generic/__init__.py @@ -1,9 +1,9 @@ -from django_async_extensions.aviews.generic.base import ( +from django_async_extensions.views.generic.base import ( AsyncView, AsyncTemplateView, AsyncRedirectView, ) -from django_async_extensions.aviews.generic.dates import ( +from django_async_extensions.views.generic.dates import ( AsyncArchiveIndexView, AsyncDateDetailView, AsyncDayArchiveView, @@ -12,14 +12,14 @@ AsyncWeekArchiveView, AsyncYearArchiveView, ) -from django_async_extensions.aviews.generic.detail import AsyncDetailView -from django_async_extensions.aviews.generic.edit import ( +from django_async_extensions.views.generic.detail import AsyncDetailView +from django_async_extensions.views.generic.edit import ( AsyncCreateView, AsyncDeleteView, AsyncFormView, AsyncUpdateView, ) -from django_async_extensions.aviews.generic.list import AsyncListView +from django_async_extensions.views.generic.list import AsyncListView __all__ = [ diff --git a/django_async_extensions/aviews/generic/base.py b/django_async_extensions/views/generic/base.py similarity index 100% rename from django_async_extensions/aviews/generic/base.py rename to django_async_extensions/views/generic/base.py diff --git a/django_async_extensions/aviews/generic/dates.py b/django_async_extensions/views/generic/dates.py similarity index 99% rename from django_async_extensions/aviews/generic/dates.py rename to django_async_extensions/views/generic/dates.py index e9ddc57..5caf054 100644 --- a/django_async_extensions/aviews/generic/dates.py +++ b/django_async_extensions/views/generic/dates.py @@ -15,12 +15,12 @@ DateMixin, ) -from django_async_extensions.aviews.generic.base import AsyncView -from django_async_extensions.aviews.generic.detail import ( +from django_async_extensions.views.generic.base import AsyncView +from django_async_extensions.views.generic.detail import ( AsyncBaseDetailView, AsyncSingleObjectTemplateResponseMixin, ) -from django_async_extensions.aviews.generic.list import ( +from django_async_extensions.views.generic.list import ( AsyncMultipleObjectMixin, AsyncMultipleObjectTemplateResponseMixin, ) diff --git a/django_async_extensions/aviews/generic/detail.py b/django_async_extensions/views/generic/detail.py similarity index 99% rename from django_async_extensions/aviews/generic/detail.py rename to django_async_extensions/views/generic/detail.py index a8995d8..3f44fc5 100644 --- a/django_async_extensions/aviews/generic/detail.py +++ b/django_async_extensions/views/generic/detail.py @@ -3,7 +3,7 @@ from django.http import Http404 from django.utils.translation import gettext as _ -from django_async_extensions.aviews.generic.base import ( +from django_async_extensions.views.generic.base import ( AsyncView, AsyncContextMixin, AsyncTemplateResponseMixin, diff --git a/django_async_extensions/aviews/generic/edit.py b/django_async_extensions/views/generic/edit.py similarity index 98% rename from django_async_extensions/aviews/generic/edit.py rename to django_async_extensions/views/generic/edit.py index 4e77d77..ddc3619 100644 --- a/django_async_extensions/aviews/generic/edit.py +++ b/django_async_extensions/views/generic/edit.py @@ -4,13 +4,13 @@ from django.forms import models as model_forms from django.http import HttpResponseRedirect -from django_async_extensions.aforms.models import AsyncModelForm -from django_async_extensions.aviews.generic.base import ( +from django_async_extensions.forms.models import AsyncModelForm +from django_async_extensions.views.generic.base import ( AsyncView, AsyncContextMixin, AsyncTemplateResponseMixin, ) -from django_async_extensions.aviews.generic.detail import ( +from django_async_extensions.views.generic.detail import ( AsyncSingleObjectMixin, AsyncBaseDetailView, AsyncSingleObjectTemplateResponseMixin, diff --git a/django_async_extensions/aviews/generic/list.py b/django_async_extensions/views/generic/list.py similarity index 98% rename from django_async_extensions/aviews/generic/list.py rename to django_async_extensions/views/generic/list.py index 4f135ba..4956f48 100644 --- a/django_async_extensions/aviews/generic/list.py +++ b/django_async_extensions/views/generic/list.py @@ -4,8 +4,8 @@ from django.http import Http404 from django.utils.translation import gettext as _ -from django_async_extensions.acore.paginator import AsyncPaginator -from django_async_extensions.aviews.generic.base import ( +from django_async_extensions.core.paginator import AsyncPaginator +from django_async_extensions.views.generic.base import ( AsyncView, AsyncContextMixin, AsyncTemplateResponseMixin, From a43c36f4bad7d646cc229c242911a87c4c85fff3 Mon Sep 17 00:00:00 2001 From: amirreza Date: Mon, 24 Mar 2025 16:29:30 +0330 Subject: [PATCH 2/3] adjust documentations with the new file structure --- docs/contrib/async-auth/mixins.md | 4 +- docs/core/async-paginator.md | 4 +- docs/forms/model_form.md | 2 +- docs/views/async-class-based-views/base.md | 14 +- docs/views/async-class-based-views/detail.md | 20 +-- docs/views/async-class-based-views/edit.md | 144 +++++++++---------- docs/views/async-class-based-views/list.md | 14 +- 7 files changed, 101 insertions(+), 101 deletions(-) diff --git a/docs/contrib/async-auth/mixins.md b/docs/contrib/async-auth/mixins.md index 881ff4e..2e8e2fc 100644 --- a/docs/contrib/async-auth/mixins.md +++ b/docs/contrib/async-auth/mixins.md @@ -3,7 +3,7 @@ django has a set of mixins that help with limiting access and enforcing authentication and permissions, but these mixins do not work with async views. -to help with that an async version of the mixins are included in the `acontrib.auth.mixins` module. +to help with that an async version of the mixins are included in the `contrib.auth.mixins` module. **note**: these mixins only work with `AsyncView` or classes that inherit from it, or implement the same logic. @@ -16,7 +16,7 @@ works similar to [LoginRequiredMixin](https://docs.djangoproject.com/en/5.1/topi also the `dispatch()` method is async. ```python -from django_async_extensions.acontrib.auth.mixins import AsyncLoginRequiredMixin +from django_async_extensions.contrib.auth.mixins import AsyncLoginRequiredMixin class MyView(AsyncLoginRequiredMixin, AsyncView): diff --git a/docs/core/async-paginator.md b/docs/core/async-paginator.md index 8509d2b..81c1531 100644 --- a/docs/core/async-paginator.md +++ b/docs/core/async-paginator.md @@ -15,7 +15,7 @@ and using querysets in an async environment is different from using querysets in #### Example of list pagination ```pycon -In [1]: from django_async_extensions.acore.paginator import AsyncPaginator +In [1]: from django_async_extensions.core.paginator import AsyncPaginator In [2]: objects = ["john", "paul", "george", "ringo"] @@ -92,7 +92,7 @@ In [2]: objs = [User(username=f"test{i}", password="testpass123") for i in range In [3]: User.objects.bulk_create(objs) Out[3]: [, , , ] -In [4]: from django_async_extensions.acore.paginator import AsyncPaginator +In [4]: from django_async_extensions.core.paginator import AsyncPaginator In [5]: users = User.objects.order_by("username") diff --git a/docs/forms/model_form.md b/docs/forms/model_form.md index 6a6e44e..98817e6 100644 --- a/docs/forms/model_form.md +++ b/docs/forms/model_form.md @@ -20,7 +20,7 @@ class Author(models.Model): *Example myapp/forms.py*: ```python -from django_async_extensions.aforms import AsyncModelForm +from django_async_extensions.forms import AsyncModelForm from myapp.models import Author diff --git a/docs/views/async-class-based-views/base.md b/docs/views/async-class-based-views/base.md index b2e78dd..0faa7c7 100644 --- a/docs/views/async-class-based-views/base.md +++ b/docs/views/async-class-based-views/base.md @@ -3,7 +3,7 @@ async CBVs are supported via the `AsyncView` class. ```python -from django_async_extensions.aviews.generic import AsyncView +from django_async_extensions.views.generic import AsyncView class MyView(AsyncView): @@ -22,7 +22,7 @@ the `AsyncView` works similar to django's [View](https://docs.djangoproject.com/ for easy use an async version of `TemplateView` is available ```python -from django_async_extensions.aviews.generic import AsyncTemplateView +from django_async_extensions.views.generic import AsyncTemplateView class MyTemplateView(AsyncTemplateView): template_name = "template.html" @@ -32,10 +32,10 @@ class MyTemplateView(AsyncTemplateView): *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django_async_extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 2. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -3. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -4. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +3. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +4. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 5. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) @@ -44,7 +44,7 @@ class MyTemplateView(AsyncTemplateView): an async version of `RedirectView` is also available ```python -from django_async_extensions.aviews.generic import AsyncRedirectView +from django_async_extensions.views.generic import AsyncRedirectView class ThisRedirectView(AsyncRedirectView): pattern_name = "that-view" @@ -54,6 +54,6 @@ class ThisRedirectView(AsyncRedirectView): *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +1. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 2. [django.views.generic.base.RedirectView](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#redirectview) 3. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) diff --git a/docs/views/async-class-based-views/detail.md b/docs/views/async-class-based-views/detail.md index 82d76b1..9265416 100644 --- a/docs/views/async-class-based-views/detail.md +++ b/docs/views/async-class-based-views/detail.md @@ -3,7 +3,7 @@ `AsyncDetailView` generic view is provided ```python -from django_async_extensions.aviews.generic import AsyncDetailView +from django_async_extensions.views.generic import AsyncDetailView class MyDetailView(AsyncDetailView): model = MyModel @@ -18,13 +18,13 @@ class MyDetailView(AsyncDetailView): *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) -2. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) +2. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 3. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -4. [django_async_extensions.aviews.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) -5. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -6. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -7. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +4. [django_async_extensions.views.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) +5. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +6. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +7. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 8. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) @@ -37,7 +37,7 @@ like [BaseDetailView](https://docs.djangoproject.com/en/5.1/ref/class-based-view *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -2. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -3. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +1. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +2. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +3. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 4. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) diff --git a/docs/views/async-class-based-views/edit.md b/docs/views/async-class-based-views/edit.md index f05f845..23c5e80 100644 --- a/docs/views/async-class-based-views/edit.md +++ b/docs/views/async-class-based-views/edit.md @@ -26,13 +26,13 @@ but the inheritance tree has changed to work asynchronously. *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 2. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -3. [django_async_extensions.aviews.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) -4. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -5. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -6. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -7. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +3. [django_async_extensions.views.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) +4. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +5. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +6. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +7. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 8. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) @@ -52,7 +52,7 @@ class ContactForm(forms.Form): *Example myapp/views.py* ```python from myapp.forms import ContactForm -from django_async_extensions.aviews.generic.edit import AsyncFormView +from django_async_extensions.views.generic.edit import AsyncFormView class ContactFormView(AsyncFormView): @@ -87,22 +87,22 @@ also the inheritance tree is different to support async operation. *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) -2. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) +2. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 3. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -4. [django_async_extensions.aviews.generic.edit.AsyncBaseCreateView](edit.md#asyncbasecreateview) -5. [django_async_extensions.aviews.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) -6. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -7. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -8. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -9. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -10. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +4. [django_async_extensions.views.generic.edit.AsyncBaseCreateView](edit.md#asyncbasecreateview) +5. [django_async_extensions.views.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) +6. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +7. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +8. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +9. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +10. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 11. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) *Example myapp/views.py* ```python -from django_async_extensions.aviews.generic.edit import AsyncCreateView +from django_async_extensions.views.generic.edit import AsyncCreateView from myapp.models import Author @@ -121,7 +121,7 @@ class AuthorCreateView(AsyncCreateView): *Example using a different model form as a factory*: ```python -from django_async_extensions.aviews.generic.edit import AsyncCreateView +from django_async_extensions.views.generic.edit import AsyncCreateView from myapp.models import Author from myapp.forms import ModelForm @@ -144,22 +144,22 @@ also the inheritance tree is different to support async operation. *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) -2. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) +2. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 2. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -3. [django_async_extensions.aviews.generic.edit.AsyncBaseUpdateView](edit.md#asyncbasecreateview) -4. [django_async_extensions.aviews.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) -5. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -7. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -8. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -9. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -10. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +3. [django_async_extensions.views.generic.edit.AsyncBaseUpdateView](edit.md#asyncbasecreateview) +4. [django_async_extensions.views.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) +5. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +7. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +8. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +9. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +10. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 11. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) *Example myapp/views.py* ```python -from django_async_extensions.aviews.generic.edit import AsyncUpdateView +from django_async_extensions.views.generic.edit import AsyncUpdateView from myapp.models import Author @@ -178,7 +178,7 @@ class AuthorCreateView(AsyncUpdateView): *Example using a different model form as a factory*: ```python -from django_async_extensions.aviews.generic.edit import AsyncUpdateView +from django_async_extensions.views.generic.edit import AsyncUpdateView from myapp.models import Author from myapp.forms import ModelForm @@ -194,19 +194,19 @@ but it's been modified to work as an async view. *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) -2. [django_async_extensions.aviews.generic.edit.AsyncBaseDeleteView](edit.md#asyncbasedeleteview) -3. [django_async_extensions.aviews.generic.edit.AsyncDeletionMixin](mixins-editing.md#asyncdeletionmixin) -4. [django_async_extensions.aviews.generic.edit.AsyncFormView](mixins-editing.md#asyncdeletionmixin) -5. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.detail.AsyncSingleObjectTemplateResponseMixin](mixins-single-object.md#asyncsingleobjecttemplateresponsemixin) +2. [django_async_extensions.views.generic.edit.AsyncBaseDeleteView](edit.md#asyncbasedeleteview) +3. [django_async_extensions.views.generic.edit.AsyncDeletionMixin](mixins-editing.md#asyncdeletionmixin) +4. [django_async_extensions.views.generic.edit.AsyncFormView](mixins-editing.md#asyncdeletionmixin) +5. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 6. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -7. [django_async_extensions.aviews.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) -8. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -9. [django_async_extensions.aviews.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) -10. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -11. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -12. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -13. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +7. [django_async_extensions.views.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) +8. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +9. [django_async_extensions.views.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) +10. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +11. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +12. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +13. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 14. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) @@ -214,70 +214,70 @@ but it's been modified to work as an async view. ### AsyncBaseFormView A base view for displaying a form. It is not intended to be used directly, -but rather as a parent class of the django_async_extensions.aviews.generic.edit.AsyncFormView or other views displaying a form. +but rather as a parent class of the `django_async_extensions.views.generic.edit.AsyncFormView` or other views displaying a form. similar to django's [BaseFormView](https://docs.djangoproject.com/en/5.1/ref/class-based-views/generic-editing/#django.views.generic.edit.BaseFormView) but the ancestors are different. *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) -2. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -3. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -4. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -5. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +1. [django_async_extensions.views.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) +2. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +3. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +4. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +5. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 6. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) ### AsyncBaseCreateView -A base view for creating a new object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.aviews.generic.edit.AsyncCreateView](edit.md#asynccreateview). +A base view for creating a new object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.views.generic.edit.AsyncCreateView](edit.md#asynccreateview). similar to django's [BaseCreateView](https://docs.djangoproject.com/en/5.1/ref/class-based-views/generic-editing/#django.views.generic.edit.BaseCreateView) but asyncified. *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) -2. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -3. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -4. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -5. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -6. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +1. [django_async_extensions.views.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) +2. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +3. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +4. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +5. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +6. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 7. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) ### AsyncBaseUpdateView -A base view for updating an object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.aviews.generic.edit.AsyncUpdateView](edit.md#asyncupdateview). +A base view for updating an object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.views.generic.edit.AsyncUpdateView](edit.md#asyncupdateview). similar to django's [BaseUpdateView](https://docs.djangoproject.com/en/5.1/ref/class-based-views/generic-editing/#django.views.generic.edit.BaseUpdateView) but asyncified. *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) -2. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -3. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -4. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -5. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -6. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +1. [django_async_extensions.views.generic.edit.AsyncModelFormMixin](mixins-editing.md#asyncmodelformmixin) +2. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +3. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +4. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +5. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +6. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 7. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) ### AsyncBaseDeleteView -A base view for deleting an object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.aviews.generic.edit.AsyncDeleteView](edit.md#asyncdeleteview). +A base view for deleting an object instance. It is not intended to be used directly, but rather as a parent class of the [django_async_extensions.views.generic.edit.AsyncDeleteView](edit.md#asyncdeleteview). similar to django's [BaseDeleteView](https://docs.djangoproject.com/en/5.1/ref/class-based-views/generic-editing/#django.views.generic.edit.BaseDeleteView) but asyncified. *Ancestors (MRO)*: -1. [django_async_extensions.aviews.generic.edit.AsyncDeletionMixin](mixins-editing.md#asyncdeletionmixin) -2. [django_async_extensions.aviews.generic.edit.AsyncFormView](mixins-editing.md#asyncdeletionmixin) -3. [django-async-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django_async_extensions.views.generic.edit.AsyncDeletionMixin](mixins-editing.md#asyncdeletionmixin) +2. [django_async_extensions.views.generic.edit.AsyncFormView](mixins-editing.md#asyncdeletionmixin) +3. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 4. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -5. [django_async_extensions.aviews.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) -6. [django_async_extensions.aviews.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) -7. [django_async_extensions.aviews.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) -8. [django_async_extensions.aviews.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) -9. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -10. [django_async_extensions.aviews.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) -11. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +5. [django_async_extensions.views.generic.edit.AsyncBaseFormView](edit.md#asyncbaseformview) +6. [django_async_extensions.views.generic.edit.AsyncFormMixin](mixins-editing.md#asyncformmixin) +7. [django_async_extensions.views.generic.detail.AsyncBaseDetailView](detail.md#asyncbasedetailview) +8. [django_async_extensions.views.generic.detail.AsyncSingleObjectMixin](mixins-single-object.md#asyncsingleobjectmixin) +9. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +10. [django_async_extensions.views.generic.edit.AsyncProcessFormMixin](mixins-editing.md#asyncprocessformview) +11. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 12. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) diff --git a/docs/views/async-class-based-views/list.md b/docs/views/async-class-based-views/list.md index 2592b66..e8c20d7 100644 --- a/docs/views/async-class-based-views/list.md +++ b/docs/views/async-class-based-views/list.md @@ -3,7 +3,7 @@ `AsyncListView` generic view ```python -from django_async_extensions.aviews.generic import AsyncListView +from django_async_extensions.views.generic import AsyncListView class MyListView(AsyncListView): model = MyModel @@ -20,13 +20,13 @@ class MyListView(AsyncListView): *Ancestors (MRO)*: -1. [django-async-extensions.aviews.generic.list.AsyncMultipleObjectTemplateResponseMixin](mixins-multiple-object.md#asyncmultipleobjecttemplateresponsemixin) -2. [djangoasync-extensions.aviews.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) +1. [django-async-extensions.views.generic.list.AsyncMultipleObjectTemplateResponseMixin](mixins-multiple-object.md#asyncmultipleobjecttemplateresponsemixin) +2. [django-async-extensions.views.generic.base.AsyncTemplateResponseMixin](mixins-simple.md#asynctemplateresponsemixin) 3. [django.views.generic.base.TemplateResponseMixin](https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin) -4. [django_async_extensions.aviews.generic.list.AsyncBaseListView](list.md#asyncbaselistview) -5. [django_async_extensions.aviews.generic.list.AsyncMultipleObjectMixin](mixins-multiple-object.md#asyncmultipleobjectmixin) -6. [django_async_extensions.aviews.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) -7. [django_async_extensions.aviews.generic.base.AsyncView](base.md#asyncview) +4. [django_async_extensions.views.generic.list.AsyncBaseListView](list.md#asyncbaselistview) +5. [django_async_extensions.views.generic.list.AsyncMultipleObjectMixin](mixins-multiple-object.md#asyncmultipleobjectmixin) +6. [django_async_extensions.views.generic.base.AsyncContextMixin](mixins-simple.md#asynccontextmixin) +7. [django_async_extensions.views.generic.base.AsyncView](base.md#asyncview) 8. [django.views.generic.base.View](https://docs.djangoproject.com/en/5.1/ref/class-based-views/base/#django.views.generic.base.View) From 04361a6b2647042bc0b9e54620f19c83fcf8fbe8 Mon Sep 17 00:00:00 2001 From: amirreza Date: Mon, 24 Mar 2025 16:29:41 +0330 Subject: [PATCH 3/3] adjust tests with the new file structure --- tests/test_auth/test_mixins.py | 4 ++-- tests/test_generic_views/forms.py | 2 +- tests/test_generic_views/test_base.py | 2 +- tests/test_generic_views/test_dates.py | 4 ++-- tests/test_generic_views/test_detail.py | 2 +- tests/test_generic_views/test_edit.py | 10 +++++----- tests/test_generic_views/test_list.py | 2 +- tests/test_generic_views/urls.py | 2 +- tests/test_generic_views/views.py | 4 ++-- tests/test_middlewares/test_middleware_mixin.py | 2 +- tests/test_model_forms/test_model_form.py | 5 +++-- tests/test_pagination/custom.py | 2 +- tests/test_pagination/test_paginator.py | 2 +- 13 files changed, 22 insertions(+), 21 deletions(-) diff --git a/tests/test_auth/test_mixins.py b/tests/test_auth/test_mixins.py index 24f565d..05543a8 100644 --- a/tests/test_auth/test_mixins.py +++ b/tests/test_auth/test_mixins.py @@ -8,12 +8,12 @@ from django.http import HttpResponse from django.test import AsyncClient, AsyncRequestFactory -from django_async_extensions.acontrib.auth.mixins import ( +from django_async_extensions.contrib.auth.mixins import ( AsyncLoginRequiredMixin, AsyncPermissionRequiredMixin, AsyncUserPassesTestMixin, ) -from django_async_extensions.aviews.generic.base import AsyncView +from django_async_extensions.views.generic.base import AsyncView aclient = AsyncClient() diff --git a/tests/test_generic_views/forms.py b/tests/test_generic_views/forms.py index 7a8db1f..3191f96 100644 --- a/tests/test_generic_views/forms.py +++ b/tests/test_generic_views/forms.py @@ -1,6 +1,6 @@ from django import forms -from django_async_extensions.aforms.models import AsyncModelForm +from django_async_extensions.forms.models import AsyncModelForm from .models import Author, Artist diff --git a/tests/test_generic_views/test_base.py b/tests/test_generic_views/test_base.py index fe895e2..6f3eb2e 100644 --- a/tests/test_generic_views/test_base.py +++ b/tests/test_generic_views/test_base.py @@ -9,7 +9,7 @@ import pytest -from django_async_extensions.aviews.generic import ( +from django_async_extensions.views.generic import ( AsyncView, AsyncTemplateView, AsyncRedirectView, diff --git a/tests/test_generic_views/test_dates.py b/tests/test_generic_views/test_dates.py index 5f19932..6a375c3 100644 --- a/tests/test_generic_views/test_dates.py +++ b/tests/test_generic_views/test_dates.py @@ -1,10 +1,10 @@ import datetime import pytest -from django.db import connection from pytest_django.asserts import assertNumQueries from django.core.exceptions import ImproperlyConfigured +from django.db import connection from django.test import Client from django.test.utils import TZ_SUPPORT @@ -366,7 +366,7 @@ def test_get_context_data_receives_extra_context(self, mocker): BaseDateListView.get(). """ mock = mocker.patch( - "django_async_extensions.aviews.generic.list.AsyncMultipleObjectMixin.get_context_data" + "django_async_extensions.views.generic.list.AsyncMultipleObjectMixin.get_context_data" ) BookSigning.objects.create(event_date=datetime.datetime(2008, 4, 2, 12, 0)) with pytest.raises( diff --git a/tests/test_generic_views/test_detail.py b/tests/test_generic_views/test_detail.py index fb3c878..94f0692 100644 --- a/tests/test_generic_views/test_detail.py +++ b/tests/test_generic_views/test_detail.py @@ -7,7 +7,7 @@ from django.test.client import RequestFactory from django.views.generic.detail import SingleObjectTemplateResponseMixin -from django_async_extensions.aviews.generic.base import AsyncView +from django_async_extensions.views.generic.base import AsyncView from .models import Artist, Author, Book, Page diff --git a/tests/test_generic_views/test_edit.py b/tests/test_generic_views/test_edit.py index fa48bb3..58558c0 100644 --- a/tests/test_generic_views/test_edit.py +++ b/tests/test_generic_views/test_edit.py @@ -1,16 +1,16 @@ import re +import pytest +from pytest_django.asserts import assertRedirects, assertQuerySetEqual + from django import forms from django.core.exceptions import ImproperlyConfigured from django.test import Client, AsyncClient from django.test.client import RequestFactory - -import pytest from django.urls import reverse -from pytest_django.asserts import assertRedirects, assertQuerySetEqual -from django_async_extensions.aviews.generic import AsyncView -from django_async_extensions.aviews.generic.edit import ( +from django_async_extensions.views.generic import AsyncView +from django_async_extensions.views.generic.edit import ( AsyncFormMixin, AsyncModelFormMixin, AsyncCreateView, diff --git a/tests/test_generic_views/test_list.py b/tests/test_generic_views/test_list.py index 2cae879..4f06378 100644 --- a/tests/test_generic_views/test_list.py +++ b/tests/test_generic_views/test_list.py @@ -6,7 +6,7 @@ from django.core.exceptions import ImproperlyConfigured from django.test import Client, TestCase -from django_async_extensions.aviews.generic.base import AsyncView +from django_async_extensions.views.generic.base import AsyncView from .models import Artist, Author, Book, Page diff --git a/tests/test_generic_views/urls.py b/tests/test_generic_views/urls.py index 2c6a860..0f055f9 100644 --- a/tests/test_generic_views/urls.py +++ b/tests/test_generic_views/urls.py @@ -3,7 +3,7 @@ from django.urls import path, re_path from django.views.decorators.cache import cache_page -from django_async_extensions.aviews.generic import AsyncTemplateView, dates +from django_async_extensions.views.generic import AsyncTemplateView, dates from .models import Book from . import views diff --git a/tests/test_generic_views/views.py b/tests/test_generic_views/views.py index 96d1a78..0dccd7e 100644 --- a/tests/test_generic_views/views.py +++ b/tests/test_generic_views/views.py @@ -2,8 +2,8 @@ from django.urls import reverse_lazy, reverse from django.utils.decorators import method_decorator -from django_async_extensions.acore.paginator import AsyncPaginator -from django_async_extensions.aviews import generic +from django_async_extensions.core.paginator import AsyncPaginator +from django_async_extensions.views import generic from .forms import ( ContactForm, diff --git a/tests/test_middlewares/test_middleware_mixin.py b/tests/test_middlewares/test_middleware_mixin.py index 4fcb4a1..66156df 100644 --- a/tests/test_middlewares/test_middleware_mixin.py +++ b/tests/test_middlewares/test_middleware_mixin.py @@ -5,7 +5,7 @@ from django.core.exceptions import ImproperlyConfigured from django.http.response import HttpResponse -from django_async_extensions.amiddleware.base import AsyncMiddlewareMixin +from django_async_extensions.middleware.base import AsyncMiddlewareMixin req = HttpResponse() resp = HttpResponse() diff --git a/tests/test_model_forms/test_model_form.py b/tests/test_model_forms/test_model_form.py index 26604f6..d391903 100644 --- a/tests/test_model_forms/test_model_form.py +++ b/tests/test_model_forms/test_model_form.py @@ -9,8 +9,9 @@ from decimal import Decimal from unittest import mock -import pytest from asgiref.sync import sync_to_async + +import pytest from pytest_django.asserts import assertNumQueries, assertHTMLEqual from django import forms @@ -36,7 +37,7 @@ from django.utils.choices import BlankChoiceIterator from django.utils.version import PYPY -from django_async_extensions.aforms.models import AsyncModelForm +from django_async_extensions.forms.models import AsyncModelForm from .models import ( Article, diff --git a/tests/test_pagination/custom.py b/tests/test_pagination/custom.py index 298f311..4d17718 100644 --- a/tests/test_pagination/custom.py +++ b/tests/test_pagination/custom.py @@ -1,4 +1,4 @@ -from django_async_extensions.acore.paginator import AsyncPaginator, AsyncPage +from django_async_extensions.core.paginator import AsyncPaginator, AsyncPage class AsyncValidAdjacentNumsPage(AsyncPage): diff --git a/tests/test_pagination/test_paginator.py b/tests/test_pagination/test_paginator.py index 770b60b..8fd5b7b 100644 --- a/tests/test_pagination/test_paginator.py +++ b/tests/test_pagination/test_paginator.py @@ -12,7 +12,7 @@ UnorderedObjectListWarning, ) -from django_async_extensions.acore.paginator import AsyncPaginator +from django_async_extensions.core.paginator import AsyncPaginator from .custom import AsyncValidAdjacentNumsPaginator from .models import Article