64 lines
2.0 KiB
Python
64 lines
2.0 KiB
Python
"""
|
|
URL configuration for config project.
|
|
|
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
https://docs.djangoproject.com/en/5.2/topics/http/urls/
|
|
Examples:
|
|
Function views
|
|
1. Add an import: from my_app import views
|
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
Class-based views
|
|
1. Add an import: from other_app.views import Home
|
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
Including another URLconf
|
|
1. Import the include() function: from django.urls import include, path
|
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
"""
|
|
|
|
from django.contrib import admin
|
|
from django.urls import path, include
|
|
from django.conf import settings
|
|
from django.conf.urls.static import static
|
|
from rest_framework_simplejwt.views import (
|
|
TokenObtainPairView,
|
|
TokenRefreshView,
|
|
TokenVerifyView,
|
|
)
|
|
from drf_spectacular.views import (
|
|
SpectacularAPIView,
|
|
SpectacularRedocView,
|
|
SpectacularSwaggerView,
|
|
)
|
|
|
|
urlpatterns = [
|
|
# path("admin/", admin.site.urls),
|
|
# API Authentication
|
|
path("api/token/", TokenObtainPairView.as_view(), name="token_obtain_pair"),
|
|
path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"),
|
|
path("api/token/verify/", TokenVerifyView.as_view(), name="token_verify"),
|
|
# API Documentation
|
|
path("api/schema/", SpectacularAPIView.as_view(), name="schema"),
|
|
path(
|
|
"api/schema/swagger-ui/",
|
|
SpectacularSwaggerView.as_view(url_name="schema"),
|
|
name="swagger-ui",
|
|
),
|
|
path(
|
|
"api/schema/redoc/",
|
|
SpectacularRedocView.as_view(url_name="schema"),
|
|
name="redoc",
|
|
),
|
|
# API Apps
|
|
path("api/accounts/", include("apps.accounts.urls")),
|
|
]
|
|
|
|
|
|
# Admin URLs - Keep at the end to prevent URL conflicts
|
|
urlpatterns += [
|
|
path("", admin.site.urls),
|
|
]
|
|
|
|
if settings.DEBUG:
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
|
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|