我下面this tutorial但面臨這樣的問題我不能修復:Django rest框架用戶註冊?
- 在註冊用戶,我無法與用戶的API登錄,因爲密碼是不是哈希 「無效的密碼格式或未知哈希算法「。在管理
- 我不能發表於「API /賬戶」,或看到的形式在瀏覽的API時,我沒有到API登錄
我的代碼:
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
在DRF 3.0,'write_only_fields =( '密碼',)'被改變爲'extra_kwargs = { '密碼':{ 'WRITE_ONLY':TRUE} ,}' –
另一個很好的解決方案:http://stackoverflow.com/questions/27468552/changing-serializer-fields-on-the-fly/#answer-27471503 –