tôi sau this tutorial nhưng phải đối mặt với những vấn đề này tôi không thể sửa chữa:Đăng ký người dùng khung còn lại Django?
- Sau khi đăng ký sử dụng, tôi không thể đăng nhập với người dùng đó với các api vì mật khẩu không được băm "định dạng mật khẩu không hợp lệ hoặc chưa biết thuật toán băm. " trong quản trị
- tôi không thể đăng lên 'api/tài khoản' hoặc xem mẫu tại các api browseable khi tôi không đăng nhập vào api
Mã của tôi:
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('password', 'first_name', 'last_name', 'email')
write_only_fields = ('password',)
def restore_object(self, attrs, instance=None):
# call set_password on user object. Without this
# the password will be stored in plain text.
user = super(UserSerializer, self).restore_object(attrs, instance)
user.set_password(attrs['password']) #somehow not hashing
return user
Trong DRF 3.0, 'write_only_fields = ('password',)' được thay đổi cho 'extra_kwargs = { 'mật khẩu': { 'write_only': True} ,} ' –
Một giải pháp tốt khác: http://stackoverflow.com/questions/27468552/changing-serializer-fields-on-the-fly/#answer-27471503 –