Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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
Python Django rest框架模型序列化程序_Python_Django_Django Rest Framework - Fatal编程技术网

Python Django rest框架模型序列化程序

Python Django rest框架模型序列化程序,python,django,django-rest-framework,Python,Django,Django Rest Framework,Django rest框架 如何使用 我刚试过 这很好。但密码保存在纯文本中 $ pip freeze Django==1.6 argparse==1.2.1 djangorestframework==2.3.9 wsgiref==0.1.2 $ curl -X post -d "username=lee&password=test" http://localhost:8081/users/ {"id": 4, "password": "test", "last_login": "20

Django rest框架

如何使用

我刚试过

这很好。但密码保存在纯文本中

$ pip freeze
Django==1.6
argparse==1.2.1
djangorestframework==2.3.9
wsgiref==0.1.2

$ curl -X post -d "username=lee&password=test" http://localhost:8081/users/
{"id": 4, "password": "test", "last_login": "2013-11-26T08:12:06.166Z", "is_superuser": false, "username": "lee", "first_name": "", "last_name": "", "email": "", "is_staff": false, "is_active": false, "date_joined": "2013-11-26T08:12:06.167Z", "groups": [], "user_permissions": []}

$ python manage.py shell
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
>>>
>>>
>>> from django.contrib.auth.models import User
>>> user=User.objects.get(username='lee')
>>> user.password
u'test'
>>>
也许没有用

所以。。。我应该怎么做才能在中使用


[编辑]

谢谢你的回答~

顺便说一句,我有个问题

我认为你的代码有问题

尚未创建用户对象。但它在第17行调用get_对象


所以我觉得有些事情有点尴尬。

您可以使用用户视图集并提供设置密码操作:


非常感谢。请再看一个问题!
from django.contrib.auth.models import User
from rest_framework import viewsets
from rest_framework import status
from rest_framework.decorators import action
from rest_framework.response import Response
from myapp.serializers import UserSerializer, PasswordSerializer

class UserViewSet(viewsets.ModelViewSet):
    """
    A viewset that provides the standard actions
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer

    @action()
    def set_password(self, request, pk=None):
        user = self.get_object()
        serializer = PasswordSerializer(data=request.DATA)
        if serializer.is_valid():
            user.set_password(serializer.data['password'])
            user.save()
            return Response({'status': 'password set'})
        else:
            return Response(serializer.errors,
                            status=status.HTTP_400_BAD_REQUEST)