第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django Rest-framework:無法創(chuàng)建帶有個人資料圖片的用戶

Django Rest-framework:無法創(chuàng)建帶有個人資料圖片的用戶

有只小跳蛙 2022-08-25 14:55:26
我正在通過用類擴展類來編寫創(chuàng)建用戶API。API 對于常規(guī)(如 、 、 .但后來我決定也存儲用戶。因此,我創(chuàng)建了一個新字段,用于將用戶的個人資料圖片的路徑存儲在同一擴展模型中。usersAbstractBaseUsermodel fieldsEmailFieldCharFieldBooleanFieldprofile_pictureprofile_pictureImageFieldusersmodels.pyclass Users(AbstractBaseUser, PermissionsMixin):    """    This model is used to store user login credential and profile information.    It's a custome user model but used for Django's default authentication.    """    email = models.EmailField(max_length=255, unique=True)    first_name = models.CharField(max_length=255, blank=False, null=False)    last_name = models.CharField(max_length=255, blank=False, null=False)    profile_picture = models.ImageField(upload_to='Images/', max_length=None, blank=True)    is_active = models.BooleanField(default=True)    # defing a custome user manager class for the custome user model.    objects = managers.UserManager()    # using email a unique identity for the user and it will also allow user to use email while logging in.    USERNAME_FIELD = 'email'然后我更新了類以添加UserAPIViewparser_classes = (FileUploadParser)view.pyfrom django.shortcuts import renderfrom . import viewsfrom rest_framework.views import APIViewfrom django.db import IntegrityErrorfrom rest_framework import statusfrom . import models, serializersfrom rest_framework.response import Responsefrom django.core.mail import send_mailfrom rest_framework.parsers import FileUploadParserclass UserAPIViews(APIView):    """    """    parser_classes = (FileUploadParser)    def post(self, request, format=None):        """        """        print(request.data)        serialized_data = serializers.UserSerializer(data=request.data)        if serialized_data.is_valid():            try:                user_id = serialized_data.save()            except IntegrityError as error:                message = f"Email already exist."                return Response ({                    'error_message' : message,                    'status' : status.HTTP_226_IM_USED                })
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經(jīng)驗 獲得超4個贊

不是發(fā)送數(shù)據(jù)json對象,而是將數(shù)據(jù)作為表單對象發(fā)送,如果你選擇將數(shù)據(jù)作為表單對象發(fā)送,那么你需要提到parser_classes = [FileUploadParser,F(xiàn)ormParser,MultiPartParser]

以下是幫助定義表單數(shù)據(jù)的鏈接。Postman 請求與正文表單數(shù)據(jù)到 json

    class UserSerializer(serializers.ModelSerializer):
            def create(self, validated_data):
            request = self.context.get('request')
            user_obj = user.User.objects.create(**validated_data)
    class UserViewSet(viewsets.ModelViewSet):
        queryset = user.User.objects.all()
        serializer_class = user_details_serializer.UserSerializer        # permission_classes = (AdminAccessPermission,)
        filter_backends = [filters.OrderingFilter, filters.SearchFilter]
        parser_classes = (MultiPartParser, FormParser)
        search_fields = ['id', 'username', 'email', 'first_name', 'last_name', 'phone', 'status']
        ordering_fields = ['id', 'username', 'email', 'first_name', 'last_name', 'phone', 'status']



查看完整回答
反對 回復(fù) 2022-08-25
  • 1 回答
  • 0 關(guān)注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號