django-rest-framework:url_path 中的正则表达式无效
django-rest-framework: invalid regular expression in url_path
我在其中定义了一个视图和操作:
class V(mixins.UpdateModelMixin, GenericViewSet):
`` some codes``
lookup_field = 'uuid'
@action(detail=True, methods=['put'], permission_classes=[IsAdminUser], url_path='approve/(?P<uuid>[\w-]+)')
def approve(self, request, *args, **kwargs):
obj = self.get_object()
`` some codes ``
该应用程序不 运行 因为:
django.core.exceptions.ImproperlyConfigured: "^url/(?P[^/.]+)/approve/(?P[\w-]+)/$" is not a valid regular expression: redefinition of group name 'uuid' as group 2; was group 1 at position 46
urls.py 在应用程序目录中:
router = routers.DefaultRouter()
router.register(r'url', views.V, basename='url')
正确的配置应该是 ^url/approve/(?P<uuid>[\w-]+)/$
,但正如错误所说,这是另一种模式,我不是那个意思。任何想法将不胜感激
Thr 问题通过添加参数 uuid
作为方法的参数解决。
def approve(self, request, uuid, *args, **kwargs):
`blah blah blah`
我在其中定义了一个视图和操作:
class V(mixins.UpdateModelMixin, GenericViewSet):
`` some codes``
lookup_field = 'uuid'
@action(detail=True, methods=['put'], permission_classes=[IsAdminUser], url_path='approve/(?P<uuid>[\w-]+)')
def approve(self, request, *args, **kwargs):
obj = self.get_object()
`` some codes ``
该应用程序不 运行 因为:
django.core.exceptions.ImproperlyConfigured: "^url/(?P[^/.]+)/approve/(?P[\w-]+)/$" is not a valid regular expression: redefinition of group name 'uuid' as group 2; was group 1 at position 46
urls.py 在应用程序目录中:
router = routers.DefaultRouter()
router.register(r'url', views.V, basename='url')
正确的配置应该是 ^url/approve/(?P<uuid>[\w-]+)/$
,但正如错误所说,这是另一种模式,我不是那个意思。任何想法将不胜感激
Thr 问题通过添加参数 uuid
作为方法的参数解决。
def approve(self, request, uuid, *args, **kwargs):
`blah blah blah`