如何使用 Django Rest Framework 在 CRUD API 中使用其他 URL
How to use other URLs in CRUD API using Django Rest Framework
我正在尝试使用 Django Rest Framework 制作 CRUD API。
这是我的 urls.py
router = routers.DefaultRouter()
router.register('products', ProductView)
# router.register('products/delete/<id>', ProductView)
(This is not working)
urlpatterns = [
path('', include(router.urls)),
]
这是我的 views.py
class ProductView(viewsets.ModelViewSet):
queryset = Products.objects.all()
serializer_class = ProductSerializer
通过使用上面的代码,我可以获取所有产品的列表 ---
1) localhost/products(这给出了所有产品的列表)
2) localhost/products/1(这给出了 ID 为 1 的产品)
如何使用其他 URL 进行删除、更新等操作
以上代码有效。没事。我只是想知道如何从客户端使用其他路由。
通过此配置,您将有两个 URLs
localhost/products/
localhost/products/<product_pk>/
但是,区别在于使用哪种方法与API交互。我希望您已经知道我们有 POST
、PUT
、PATCH
、DELETE
等 HTTP 方法,并且上面的 APIs 能够使用这些 HTTP 方法。
您可以看到整个 URL 配置(如 table)in DRF doc
我正在尝试使用 Django Rest Framework 制作 CRUD API。
这是我的 urls.py
router = routers.DefaultRouter()
router.register('products', ProductView)
# router.register('products/delete/<id>', ProductView)
(This is not working)
urlpatterns = [
path('', include(router.urls)),
]
这是我的 views.py
class ProductView(viewsets.ModelViewSet):
queryset = Products.objects.all()
serializer_class = ProductSerializer
通过使用上面的代码,我可以获取所有产品的列表 ---
1) localhost/products(这给出了所有产品的列表)
2) localhost/products/1(这给出了 ID 为 1 的产品)
如何使用其他 URL 进行删除、更新等操作
以上代码有效。没事。我只是想知道如何从客户端使用其他路由。
通过此配置,您将有两个 URLs
localhost/products/
localhost/products/<product_pk>/
但是,区别在于使用哪种方法与API交互。我希望您已经知道我们有 POST
、PUT
、PATCH
、DELETE
等 HTTP 方法,并且上面的 APIs 能够使用这些 HTTP 方法。
您可以看到整个 URL 配置(如 table)in DRF doc