Jquery 将映像发送到服务器-错误415(不支持的媒体类型):";不支持的媒体类型\“;图像/png\";在请求中。”;
我正在尝试使用ajax将一个图像从前端发送到使用django rest框架的后端,但没有结果 响应错误是: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
{“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"]