ユーザー作成後にログインできません。ここに私のコードは次のとおりです。django - ユーザー作成後にログインできない
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
def create(self, validated_data):
username = validated_data.pop('username')
password = validated_data.pop('password')
return User.objects.create_user(username, password, **validated_data)
マイAPI:
from django.contrib.auth.models import User
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
任意のヘルプは高く評価されます。 更新:ここに私のテストケース
class UserAPITestCase(APITestCase):
def setUp(self):
self.client = APIClient()
self.user = User.objects.create_user(
username='anhnguyen',
password=PASSWORD,
)
self.user.save()
def test_create_user(self):
data = {
'username': 'khoavo',
'password': PASSWORD,
}
user = self.client.post(URL, data, format='json')
self.assertEqual(user.status_code, status.HTTP_201_CREATED)
url = reverse(URL1, args=[2])
response = self.client.get(url)
self.assertEqual(response.status_code, status.HTTP_200_OK)
login = self.client.login(username='khoavo', password=PASSWORD)
self.assertTrue(login)
テストケースがcreate_user
メソッドが第2引数としてemail
とりユーザー
シリアライザでデバッグしようとしました。 UserSerializerが入力データを検証した後、createメソッドでインスタンスを作成できます。しかし、何とかそのインスタンスは私のテストケースにログインすることはできません。 – achilles