![](/img/trans.png)
[英]How to add namespace url to a django-rest-framework router viewset
[英]How to allow for complex URLs on a Django-rest-framework viewset
我有一个“ Scheme
视图集,其中有一条称为optimize
的详细路线。 定义如下所示:
@detail_route(methods=['get’])
def optimize(self, request, pk=None):
pass
我正在使用DefaultRouter()
生成URL,该URL最终是/schemes/:id/optimize
。 我想在我的视图集上使用第二种方法在特定位置上运行优化,因此该URL可能类似于/schemes/:id/optimize_by_location/:id
。
如何在我的视图中设置此功能,该视图有2层路线?
我认为使用默认路由器是不可能的。 因此,您应该:
/schemes/:id/optimize_by_location/:id
网址(可能更简单,但通用性较低): 在Django Rest教程中有关此的更多信息:将ViewSet明确绑定到URL
from django.conf.urls import patterns, url
from .views import MyViewSet
optimize_view = MyViewSet.as_view({'get': 'optimize_specific_location'},)
urlpatterns = [
url(r'^schemes/(?P<id>[0-9]+)/optimize_by_location/(?P<loc_id>[0-9]+)/$',
optimize_view),
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.