urls.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.urls import path, include # 确保 include 已导入
  2. from rest_framework.routers import DefaultRouter # 导入 DefaultRouter
  3. from .views import (
  4. UserRegistrationView,
  5. UserProfileView,
  6. InterestTagViewSet,
  7. RecommendedUserListView # <<<< 新增导入 RecommendedUserListView
  8. )
  9. from rest_framework_simplejwt.views import (
  10. TokenObtainPairView,
  11. TokenRefreshView,
  12. )
  13. app_name = 'accounts'
  14. # 1. 创建一个路由器实例
  15. router = DefaultRouter()
  16. # 2. 注册 InterestTagViewSet 到路由器
  17. # 'tags' 是这个ViewSet在URL中的前缀。
  18. # 例如,相关的URL会是 /api/v1/accounts/tags/ 和 /api/v1/accounts/tags/<pk>/
  19. # basename='interesttag' 用于自动生成URL的名称,如 'interesttag-list', 'interesttag-detail'
  20. router.register(r'tags', InterestTagViewSet, basename='interesttag')
  21. urlpatterns = [
  22. # 用户认证和资料相关的URL
  23. path('register/', UserRegistrationView.as_view(), name='user_register'),
  24. path('login/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
  25. path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
  26. path('profile/', UserProfileView.as_view(), name='user_profile'),
  27. # 新增:推荐用户列表API
  28. path('users/recommendations/', RecommendedUserListView.as_view(), name='user_recommendations'), # <<<< 新增这行
  29. # 3. 将路由器生成的URL模式 (为InterestTagViewSet生成的 /tags/ 和 /tags/<pk>/) 包含到 urlpatterns 中
  30. path('', include(router.urls)),
  31. ]