2026-04-09 13:56:02 +00:00
|
|
|
"""
|
|
|
|
|
URL configuration for the project.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
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,
|
|
|
|
|
)
|
|
|
|
|
from apps.api.views import CustomTokenObtainPairView
|
|
|
|
|
|
|
|
|
|
urlpatterns = [
|
|
|
|
|
path('admin/', admin.site.urls),
|
|
|
|
|
|
|
|
|
|
# Authentication
|
|
|
|
|
path('api/auth/login/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
|
|
|
|
|
path('api/auth/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
|
|
|
|
|
|
|
|
|
# API endpoints
|
|
|
|
|
path('api/', include('apps.users.urls')),
|
|
|
|
|
path('api/', include('apps.regions.urls')),
|
|
|
|
|
path('api/', include('apps.articles.urls')),
|
|
|
|
|
path('api/', include('apps.featured_services.urls')),
|
|
|
|
|
path('api/', include('apps.moderation.urls')),
|
|
|
|
|
path('api/', include('apps.interactions.urls')),
|
|
|
|
|
path('api/', include('apps.api.urls')),
|
2026-04-14 02:59:37 +00:00
|
|
|
path('api/', include('apps.core.urls')), # AI 审核 API
|
2026-04-09 13:56:02 +00:00
|
|
|
|
|
|
|
|
# GraphQL
|
|
|
|
|
path('graphql/', include('apps.api.graphql_urls')),
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# Serve media files in development
|
|
|
|
|
if settings.DEBUG:
|
|
|
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|