मैं Django बाकी ढांचे ट्यूटोरियल के माध्यम से जा रहा हूँ, मेरे स्वयं के कस्टम उपयोगकर्ता मॉडल के साथ स्निपेट मॉडल की जगह को छोड़कर। हालांकि, जब मैं एपीआई का परीक्षण करने की कोशिश, मैं कोई लाभ नहीं हुआAttributeError: 'USER_LIST' वस्तु में कोई विशेषता '_ignore_model_permissions'
Traceback (most recent call last):
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 77, in wrapped_view
return view_func(*args, **kwargs)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/rest_framework/views.py", line 326, in dispatch
response = self.handle_exception(exc)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/rest_framework/views.py", line 314, in dispatch
self.initial(request, *args, **kwargs)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/rest_framework/views.py", line 235, in initial
self.check_permissions(request)
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/rest_framework/views.py", line 192, in check_permissions
if not permission.has_permission(request, self):
File "/Users/AndyFang/Desktop/doorstep-django/venv/lib/python2.7/site-packages/rest_framework/permissions.py", line 131, in has_permission
if model_cls is None and getattr(view, '_ignore_model_permissions'):
AttributeError: 'user_list' object has no attribute '_ignore_model_permissions'
मैं इसे ठीक करने के लिए विभिन्न चीजों (जैसे प्रारूप सुविधा आदि को अक्षम करने, csrf_exmept टोकन जोड़ने, के रूप में) की कोशिश की है सब हो रहा है। नीचे दिए गए कोड मैंने लिखा है:
serializers.py
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'email', 'phone_number', 'first_name', 'last_name')
views.py
@api_view(['GET', 'POST'])
def user_list(request, format=None):
"""
List all users, or create a new user.
"""
if request.method == 'GET':
users = User.objects.all()
serializer = UserSerializer(users, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = UserSerializer(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_view(['GET', 'PUT', 'DELETE'])
def user_detail(request, pk, format=None):
"""
Retrieve, update or delete a user instance.
"""
try:
user = User.objects.get(pk=pk)
except User.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method == 'GET':
serializer = UserSerializer(user)
return Response(serializer.data)
elif request.method == 'PUT':
serializer = UserSerializer(user, data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
elif request.method == 'DELETE':
user.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
urls.py
बस इस के साथ एक समस्या की खोज की - ब्राउज़र में अच्छा काम करता है के रूप में मैं कर रहा हूँ प्रमाणीकृत, तथापि कर्ल का उपयोग कर, मैं इतना शिकायत नहीं कर रहा हूँ कोई प्रमाणीकरण देखते हैं कि विवरण :( – purchas