django restフレームワークを使用してユーザー登録用のapiを作成しようとしています。
私は、次のmodels.pyファイルユーザー登録Django Rest Frameworkを使用する
from __future__ import unicode_literals
from django.db import models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE , primary_key = True)
mobileNumber = models.IntegerField(default=0)
avatar= models.ImageField(upload_to = 'User/' , default = '/static/User/defaultProfileImage.png')
def create_user_profile(sender, **kwargs):
if kwargs['created']:
profile = UserProfile.objects.create(user=kwargs['instance'])
post_save.connect(create_user_profile, sender=User)
これは私のSerializers.pyファイル
from rest_framework import serializers
from User.models import UserProfile
from django.contrib.auth.models import User
class UserSerializer(serializers.HyperlinkedModelSerializer):
username = serializers.CharField()
password1 = serializers.CharField(
style={'input_type': 'password'},
write_only=True)
password2 = serializers.CharField(
style={'input_type': 'password'},
write_only=True)
email = serializers.EmailField()
class Meta:
model = User
fields = (
'id',
'username',
'password1',
'password2',
'email',
'first_name',
'last_name',
)
class UserProfileSerializer(serializers.HyperlinkedModelSerializer):
user = UserSerializer()
class Meta:
model = UserProfile
fields = (
'user',
'mobileNumber',
'avatar')
そして以下であるが、私のviews.pyファイル
from User.models import UserProfile
from .serializers import UserProfileSerializer
from rest_framework.viewsets import ModelViewSet
class UserProfileViewSet(ModelViewSet):
queryset = UserProfile.objects.all()
serializer_class = UserProfileSerializer
である必要がありAPIビューを使用してユーザー登録を作成する最適な方法は何ですか?私は帽子を作りました。私は、UserProfileシリアライザクラスのcreateメソッドをオーバーライドしたり、drf-writable-nestedでもエラーが発生したりするなど、多くの選択肢を試しました。
私は退出を提案してください。また、私は、apiがアンドロイドアプリによって呼び出されたときにユーザーを登録できることを願っています。
あなた自身の登録を展開する代わりに、Django-RestAuthやdjango-knoxなどの登録用の利用可能なパッケージを利用してみませんか?ここを見て。 http://www.django-rest-framework.org/api-guide/authentication/ –