class OrderViewSet(GenericViewSet, CreateModelMixin):
queryset = Order.objects.filter(is_show=True, is_deleted=False).all()
serializer_class = OrderSerializer
# 使用GenericViewSet 后的两种路由方式
# 方式一
from rest_framework.urls import path
from rest_framework.routers import SimpleRouter
from .views import OrderViewSet
router = SimpleRouter()
router.register(r'order', viewset=OrderViewSet, basename="订单信息") #注意order后面不需要加/
urlpatterns = []
urlpatterns += router.urls
# 上面这种常搭配自定义actions
class OrderViewSet(GenericViewSet, CreateModelMixin):
queryset = Order.objects.filter(is_show=True, is_deleted=False).all()
serializer_class = OrderSerializer
@action(method=['get','post'],detail=True,url-path='xxxxx')
def customMethod():
pass
or
# 方式二 自定义映射关系
urlpatterns = [
path(r'order/', OrderViewSet.as_view(actions={
'post': 'create'
}))
]
django路由配置的多种方式
于 2023-10-07 22:13:48 首次发布