Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 应使用名为“的URL关键字参数调用视图”;用户“U令牌”;_Django_Django Rest Framework - Fatal编程技术网

Django 应使用名为“的URL关键字参数调用视图”;用户“U令牌”;

Django 应使用名为“的URL关键字参数调用视图”;用户“U令牌”;,django,django-rest-framework,Django,Django Rest Framework,我正在使用Django Rest框架,以下是我的观点: class DeleteUserView(generics.DestroyAPIView): permission_classes = (IsAuthenticated,) serializer_class = UserSerializer queryset = User.objects.all() lookup_field = 'user_token' 和my url.py: from django.ur

我正在使用Django Rest框架,以下是我的观点:

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

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

urlpatterns = [
    path('add_user/', CreateUserView.as_view()),
    path('delete_user/', DeleteUserView.as_view()),
]
序列化程序.py

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

我正试图通过特定的令牌删除用户,但它不起作用…我正在使用Postman并在正文中提供
user\u令牌

如果设置
lookup\u字段
paremeter,它基本上会在URLconfig中查找该变量。例如

path('delete_user/(?P<user_token>[-\w]+)/', DeleteUserView.as_view()),
path('delete_user/(?P[-\w]+)/',DeleteUserView.as_view()),
如果您像上面那样指定URL,然后调用
http://127.0.0.1:8000/delete_user/1/
,它应该可以工作

注意


在您的情况下,如果要使用CRUD视图,如
add\u user
delete\u user
update\u user
,那么我建议您使用一个您会遇到什么错误?您可以在此处发布您在Postman中使用的请求URL吗?@AswinMurugesh期望使用名为“user_token”的URL关键字参数调用view DeleteUserView。修复URL配置,或在视图上正确设置
.lookup\u字段
属性。@AswinMurugesh以下是请求URL:
http://127.0.0.1:8000/delete_user/