Project使用Django REST Framework。以下是详细视图之一:
@detail_route(methods=['POST'],
permission_classes=[IsAuthenticated],
url_path="invite/(?P<member_id>[^/.]+)")
def invite_member(self, request, pk=None, member_id=None):
...
打开浏览器时,我看到此网址指定如下:
^api/ ^deal/ ^ ^deals/(?P<pk>[^/.]+)/invite/(?P<member_id>[^/.]+)/$ [name='deal-invite/(?P<member-id>[^/.]+)']
正如你所看到的,这个视图的名字看起来非常糟糕 - 有没有办法让它变得更漂亮?
答案 0 :(得分:0)
如果您不想使用为自定义操作生成的默认名称,可以使用url_name
参数对其进行自定义。
例如,如果您想将自定义操作的名称更改为“user-change-password”,您可以写一下:
from myapp.permissions import IsAdminOrIsSelf
from rest_framework.decorators import detail_route
class UserViewSet(ModelViewSet):
...
@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf], url_name='change-password')
def set_password(self, request, pk=None):
...