小编Iva*_*res的帖子

Django Rest Framework - Request.user始终是AnonymousUser,request.POST为空

我的身份验证/登录视图遇到问题.这个系统以前工作,但我最近切换到一个新的服务器,无法修复它.

尝试通过身份验证视图登录时,request.user始终是AnonymousUser,就像我没有提供任何身份验证凭据一样.我已经尝试记录request.POST但它似乎是一个空的dict.

我在这里有一个追溯:

Environment:


Request Method: POST
Request URL: http://45.55.149.3:8000/api/auth/

Django Version: 1.8.3
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'webapp',
 'rest_framework',
 'djrill')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware')


Traceback:
File "/home/appointments-app/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/appointments-app/venv/local/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)
File "/home/appointments-app/venv/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/home/appointments-app/venv/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  456.             response = self.handle_exception(exc)
File "/home/appointments-app/venv/local/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  453.             response = …
Run Code Online (Sandbox Code Playgroud)

authentication django angularjs django-rest-framework

5
推荐指数
1
解决办法
1973
查看次数

尝试访问ViewSet创建定义中的request.data时的KeyError'id'

我最近从drf 2.4升级到v3并且一直试图覆盖def Create我的一个ViewSet.但是,当尝试访问我已保存到序列化程序变量的request.data时,我将收到错误:KeyError at /api/appointments/ 'id'

我在下面的错误中包含了我的ViewSet代码,序列化程序和回溯:

class AppointmentViewSet(viewsets.ModelViewSet):
    queryset = Appointment.objects.all()
    serializer_class = AppointmentSerializer
    permission_classes = (permissions.IsAuthenticatedOrReadOnly,
                      IsOwnerOrReadOnly,)
    def create(self, request):
            serializer = AppointmentSerializer(data=request.data)
            if serializer.is_valid(raise_exception=True):
            #get the datetime object from the request data and filter availability objects, datetime stored in attribute .when
                    avQueryset = Availability.objects.filter(date__range=(serializer.data.when, serializer.data.when))
    def pre_save(self, obj):
            obj.service_recipient = self.request.user
Run Code Online (Sandbox Code Playgroud)

串行

class AppointmentSerializer(serializers.ModelSerializer):
        class Meta:
                model = Appointment
                fields = ('id','availability' , 'business_location', 'services', 'when', 'service_recipient', 'completed')
Run Code Online (Sandbox Code Playgroud)

repr(serializer)

AppointmentSerializer():
    id = IntegerField(label='ID', read_only=True) …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

4
推荐指数
1
解决办法
2946
查看次数