Я хочу создать API регистра, в котором у меня есть имя пользователя, адрес электронной почты, пароль и поле изображения. Я не могу правильно получать и обрабатывать данные. Класс пользователя по умолчанию расширен для хранения поля изображения. У меня есть этот расширенный пользователь модель : -
from django.contrib.auth.models import User
import os
def get_upload_path(instance, filename):
fileName, fileExtension = os.path.splitext(filename)
return os.path.join("user_%s" % instance.user.username,"user_{0}.{1}" .format(instance.user.username,fileExtension))
# Create your models here.
class Userprofile(models.Model):
user=models.OneToOneField(User,on_delete=models.CASCADE)
display_picture=models.ImageField(upload_to=get_upload_path)
has_voted=models.BooleanField(default=False)
voted_item=models.CharField(max_length=200,default='none')
def __str__(self):
return self.user.username
Это сериализаторы : -
from django.contrib.auth.models import User
from .models import Userprofile
class UserprofileSerializer(serializers.ModelSerializer):
class Meta:
model=Userprofile
fields=['display_picture']
class UserSerializer(serializers.ModelSerializer):
class Meta:
model=User
fields=['username','email','password1','password2']
это путь / URL : -
path('register',views.FileUploadView.as_view(),name='Register'),
это представление : -
@csrf_exempt
class FileUploadView(APIView):
parser_classes=[MultiPartParser,FormParser]
def register(self,request):
display_picture=request.FILES["display_picture"]
data=json.loads(request.data["data"])
#saving data using serializers
return JsonResponse({'message': "Registered Successfully!"},status=200)
Я получаю сообщение об ошибке: -
path ('register', views.FileUploadView.as_view (), name = 'Register'), AttributeError: у объекта 'function' нет атрибута 'as_view'