使用名为“user_token”的URL关键字参数调用的预期视图

时间:2018-03-08 18:10:25

标签: django django-rest-framework

我正在使用Django Rest Framework,这是我的观点:

class DeleteUserView(generics.DestroyAPIView):
    permission_classes = (IsAuthenticated,)
    serializer_class = UserSerializer
    queryset = User.objects.all()
    lookup_field = 'user_token'

和我的urls.py:

from django.urls import path
from .views import CreateUserView, DeleteUserView

urlpatterns = [
    path('add_user/', CreateUserView.as_view()),
    path('delete_user/', DeleteUserView.as_view()),
]

serializer.py

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('user_token',)

我正在尝试按特定令牌删除用户,但它不起作用...我正在使用Postman并在Body中提供user_token

1 个答案:

答案 0 :(得分:1)

如果设置lookup_field参数,它基本上会在您的URLconfig中查找该变量。例如

path('delete_user/(?P<user_token>[-\w]+)/', DeleteUserView.as_view()),

如果您指定上述网址,然后调用http://127.0.0.1:8000/delete_user/1/,则应该可以使用

注意

在您的情况下,如果您要获得add_userdelete_userupdate_user等CRUD视图,那么我建议您使用model viewset