Jquery 将映像发送到服务器-错误415(不支持的媒体类型):";不支持的媒体类型\“;图像/png\";在请求中。”;

Jquery 将映像发送到服务器-错误415(不支持的媒体类型):";不支持的媒体类型\“;图像/png\";在请求中。”;,jquery,django,ajax,django-rest-framework,put,Jquery,Django,Ajax,Django Rest Framework,Put,我正在尝试使用ajax将一个图像从前端发送到使用django rest框架的后端,但没有结果 响应错误是:{“detail”:“请求中不支持的媒体类型\”image/png\”}其中我尝试了很多不同的类型,而不是“image/png”。(我发送的img是png) HTML: 德扬戈 models.py class Atom(models.Model): name = models.CharField(max_length=128,blank=True) bio = models

我正在尝试使用ajax将一个图像从前端发送到使用django rest框架的后端,但没有结果

响应错误是:
{“detail”:“请求中不支持的媒体类型\”image/png\”}
其中我尝试了很多不同的类型,而不是“image/png”。(我发送的img是png)

HTML:


德扬戈

models.py

class Atom(models.Model):
    name = models.CharField(max_length=128,blank=True)
    bio = models.TextField()
    img = models.ImageField(null=True, blank=True, upload_to='users_app')
    user_account = models.ForeignKey(UserAccount,  on_delete=models.CASCADE, null=True, blank=True, related_name="atoms")

    def __str__(self):
        return self.name

views.py

class UserAccountViewSet(viewsets.ModelViewSet):
    queryset = UserAccount.objects.all()
    serializer_class = UserAccountSerializer
    lookup_field = "user_url"
    permission_classes = [IsOwnerOrReadOnly]

    def update(self, request, *args, **kwargs):  # update = PUT
        partial = kwargs.pop('partial', False)
        instance = self.get_object()
        serializer = self.get_serializer(
            instance, data=request.data, partial=partial)
        serializer.is_valid(raise_exception=True)
        self.perform_update(serializer)
        return Response(serializer.data)

序列化程序.py

我还尝试了不同的解决方案来接受图像,但不确定错误是在这里,在模型中还是在ajax中

from drf_writable_nested import WritableNestedModelSerializer # Enable write nested
from .models import *
from drf_base64.fields import Base64ImageField

class AtomSerializer(serializers.HyperlinkedModelSerializer, WritableNestedModelSerializer):
    boonds = BoondSerializer(many=True,required=False)
    img = Base64ImageField(max_length=None, use_url=True, required=False)

    class Meta:
        model = Atom
        fields = ["name","bio", "img", "boonds"]
class UserAccountViewSet(viewsets.ModelViewSet):
    queryset = UserAccount.objects.all()
    serializer_class = UserAccountSerializer
    lookup_field = "user_url"
    permission_classes = [IsOwnerOrReadOnly]

    def update(self, request, *args, **kwargs):  # update = PUT
        partial = kwargs.pop('partial', False)
        instance = self.get_object()
        serializer = self.get_serializer(
            instance, data=request.data, partial=partial)
        serializer.is_valid(raise_exception=True)
        self.perform_update(serializer)
        return Response(serializer.data)
from drf_writable_nested import WritableNestedModelSerializer # Enable write nested
from .models import *
from drf_base64.fields import Base64ImageField

class AtomSerializer(serializers.HyperlinkedModelSerializer, WritableNestedModelSerializer):
    boonds = BoondSerializer(many=True,required=False)
    img = Base64ImageField(max_length=None, use_url=True, required=False)

    class Meta:
        model = Atom
        fields = ["name","bio", "img", "boonds"]