3/3-3

urls

  • プロジェクト/urls.py
    • from django.contrib import admin
      from django.urls import path
      from django.conf.urls import include
      from rest_framework.authtoken.views import obtain_auth_token

      urlpatterns = [
      path('admin/', admin.site.urls),
      path('api/',include('apiapp.urls')),
      path('auth/',obtain_auth_token),
      ]
    • URL/admin
      • 管理者ページへ
    • URL/api
      • /tasks
        • tokenをModHeaderで持っているとさらに下層へアクセスできる
          • /1/
          • タスクのid
      • /users
        • tokenなしでも現状アクセスできる
        • 変更もできる
          • /1/
          • username
    • URL/auth
      • トークンを手に入れるためのページ
      • Postmanで手に入る

 

 

  • アプリ/urls.py
    • 初期からはないので自分で作る

    • from django.urls import path
      from django.conf.urls import include
      from rest_framework import routers
      from apiapp.views import TaskViewSet,UserViewSet,ManageUserView

      router = routers.DefaultRouter()
      router.register('tasks',TaskViewSet)
      router.register('users',UserViewSet)

      urlpatterns = [
      path('myself/',ManageUserView.as_view(),name='myself'),
      path('',include(router.urls)),
      ]

 

    • プロジェクトのurls.pyで「URL/api」へのアクセスがあったときに繋がる
    • routers.DefaultRouter
    • routers.DefaultRouter.register('tasks',TaskViewSet)
      • /api/tasks/へのアクセスを確立している
      • TaskViewSetに従う
    • routers.DefaultRouter.register('users',UserViewSet)
      • /api/users/へのアクセスを確立している
      • UserViewSetに従う
    • path('myself/',ManageUserView.as_view(),name='myself')
      • /api/myself/へのアクセスを確立している
        • 自分のログイン情報?