Saya membaca tentang kerangka kerja Djoser untuk Django. Saya menemukan bahwa ada dua pola url untuk disertakan, keduanya sama: urlpatterns = [ (...), url(r'^auth/', include('djoser.urls')), ...

0
Roxell 5 April 2021, 15:03

1 menjawab

Jawaban Terbaik

Pola url yang Anda berikan adalah:

urlpatterns = [
    (...),
    url(r'^auth/', include('djoser.urls')),
    url(r'^auth/', include('djoser.urls.jwt')),
]

Dari penggunaan fungsi include Anda dapat melihat bahwa pola tersebut termasuk pola lainnya. Lihat Termasuk URLconf lain [Django docs].

Jika kita melihat url dari 'djoser.urls' ( GitHub) pada dasarnya terlihat seperti:

router = DefaultRouter()
router.register("users", views.UserViewSet)

User = get_user_model()

urlpatterns = router.urls

Jadi pada dasarnya dengan penggunaan include ini akhirnya menghasilkan banyak pola url yang terlihat seperti auth/users/...

Pindah ke pola di 'djoser.urls.jwt' (GitHub)< /a>:

urlpatterns = [
    re_path(r"^jwt/create/?", views.TokenObtainPairView.as_view(), name="jwt-create"),
    re_path(r"^jwt/refresh/?", views.TokenRefreshView.as_view(), name="jwt-refresh"),
    re_path(r"^jwt/verify/?", views.TokenVerifyView.as_view(), name="jwt-verify"),
]

Yang pada dasarnya berakhir sebagai auth/jwt/create, dll.

Melihat ini polanya jelas berbeda jadi tidak perlu khawatir.

1
Abdul Aziz Barkat 5 April 2021, 12:27