Anonymous
Как я могу использовать несколько маршрутизаторов для проекта Django Rest Framework?
Сообщение
Anonymous » 25 ноя 2024, 21:13
Мне сложно использовать маршрутизатор для одного приложения, а другой — для другого приложения.
Код: Выделить всё
# api/urls.py
from django.urls import path, include
from .views import UserViewSet, DepartmentViewSet, UserLoginView, UserTokenRefreshView
router = DefaultRouter()
router.get_api_root_view().cls.__name__ = "E.R.P. API"
router.get_api_root_view().cls.__doc__ = "API do ERP"
router.register('users', UserViewSet, basename='user')
router.register('departments', DepartmentViewSet, basename='department')
app_name = 'api'
urlpatterns = [
path('login/', UserLoginView.as_view(), name='login'),
path('token/refresh/', UserTokenRefreshView.as_view(), name='token_refresh'),
path('', include(router.urls)),
path('history/', HistoryView.as_view(), name='history'),
]
Код: Выделить всё
# mobile_app/urls.py
from django.urls import path, include
from .views import CustomerLoginView
mobile_app_router = DefaultRouter()
mobile_app_router.get_api_root_view().cls.__name__ = "Mobile App API"
mobile_app_router.get_api_root_view().cls.__doc__ = "API do Aplicativo Mobile"
app_name = 'mobile_app'
urlpatterns = [
path('login/', CustomerLoginView.as_view(), name='login'),
path('', include(mobile_app_router.urls))
]
Код: Выделить всё
# erp/urls.py
from django.contrib import admin
from django.urls import path, re_path, include
from . import settings
from django.conf.urls.static import static
from notifications import urls as notifications_urls
urlpatterns = [
path('api/', include('api.urls'), name='api'),
path('api/m/', include('mobile_app.urls'), name='api_mobile'),
path('', admin.site.urls),
re_path(r'^inbox/notifications/', include(notifications_urls, namespace='notifications')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
__name__ и __doc__ смешиваются, если я пытаюсь использовать swagger или redoc (
) URL-адреса смешаны. Как будто они одинаковы. Как мне это сделать правильно?
Я пытался использовать несколько маршрутизаторов для Django Rest Framework и ожидаю использовать их как разные маршрутизаторы на разных URL-адресах.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... rk-project
1732558400
Anonymous
Мне сложно использовать маршрутизатор для одного приложения, а другой — для другого приложения. [code]# api/urls.py from django.urls import path, include from .views import UserViewSet, DepartmentViewSet, UserLoginView, UserTokenRefreshView router = DefaultRouter() router.get_api_root_view().cls.__name__ = "E.R.P. API" router.get_api_root_view().cls.__doc__ = "API do ERP" router.register('users', UserViewSet, basename='user') router.register('departments', DepartmentViewSet, basename='department') app_name = 'api' urlpatterns = [ path('login/', UserLoginView.as_view(), name='login'), path('token/refresh/', UserTokenRefreshView.as_view(), name='token_refresh'), path('', include(router.urls)), path('history/', HistoryView.as_view(), name='history'), ] [/code] [code]# mobile_app/urls.py from django.urls import path, include from .views import CustomerLoginView mobile_app_router = DefaultRouter() mobile_app_router.get_api_root_view().cls.__name__ = "Mobile App API" mobile_app_router.get_api_root_view().cls.__doc__ = "API do Aplicativo Mobile" app_name = 'mobile_app' urlpatterns = [ path('login/', CustomerLoginView.as_view(), name='login'), path('', include(mobile_app_router.urls)) ] [/code] [code]# erp/urls.py from django.contrib import admin from django.urls import path, re_path, include from . import settings from django.conf.urls.static import static from notifications import urls as notifications_urls urlpatterns = [ path('api/', include('api.urls'), name='api'), path('api/m/', include('mobile_app.urls'), name='api_mobile'), path('', admin.site.urls), re_path(r'^inbox/notifications/', include(notifications_urls, namespace='notifications')), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) [/code] __name__ и __doc__ смешиваются, если я пытаюсь использовать swagger или redoc ([code]drf_yasg[/code]) URL-адреса смешаны. Как будто они одинаковы. Как мне это сделать правильно? Я пытался использовать несколько маршрутизаторов для Django Rest Framework и ожидаю использовать их как разные маршрутизаторы на разных URL-адресах. Подробнее здесь: [url]https://stackoverflow.com/questions/79218691/how-can-i-use-multiple-routers-for-a-django-rest-framework-project[/url]