python - 不支持的媒体类型 Django API

标签 python django rest django-rest-framework postman

我是 Django 的新手,我的项目是 REST 当我使用 postman 检查 URL 时会出现此错误:

"detail": "不支持的媒体类型"multipart/form-data; boundary=----WebKitFormBoundaryAU1ShXHTHrfcQr61"在请求中。"

并且在使用 curl 时发生了这个错误:

{"detail":"JSON 解析错误 - 期望值:第 1 行第 1 列(字符 0)"}

这是我对示例 URL 的看法:

@api_view(["POST"])
def register(request):
    user_data = request.data
    if user_data:
        serializer = UserSerializers(data=user_data)

        if serializer.is_valid():
            registerInfo = {
                'name': serializer.validated_data['name'],
                'degImage': serializer.validated_data['degImage'],
            }

             serializer.save(registerInfo)
             return Response({
                "code": 200,
                "status": "successful",
                "message": "code was sent try to validate code"
                })
        else:
            return Response({
                "status": "error",
                "error": "Bad request"
            })
    else:
        return Response({
            "status": "error",
            "error": "Empty request"
        })

这是序列化器类:

class UserSerializers(serializers.Serializer):
    name = serializers.CharField(required=True)
    degImage = serializers.ImageField(required=True)

    def save(self, validated_data):
        user = Users(
            name=validated_data['name'],
            degImage=validated_data['degImage']
        )
        user.save()
        return user

和模型:

class Users(models.Model):
    name = models.CharField(max_length=20, null=True)
    degImage = models.ImageField(null=False, blank=False, default='detImage')

最佳答案

在 postman set 中,bodyRaw 并从下拉菜单中选择 JSON 并发送请求。

改变Django rest framework中的解析器

设置.py

 REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': (
        'rest_framework.parsers.FormParser',
        'rest_framework.parsers.MultiPartParser'
     )
 }

关于python - 不支持的媒体类型 Django API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874233/

相关文章:

python - Python 中的 Hot Deck 插补

python - 如何将多个 xml 文件中的属性值解析为一个 pandas 数据帧?

django - 'AuthToken' 类型的对象不是 JSON 可序列化的

php - python 格式日期时间与 "st", "nd", "rd", "th"(英文序数后缀),如 PHP 的 "S"

python - 使用 Python 优化数组之间的 bool 比较

python - 通过 python 创建 docx (分页符、表格) - 可能吗?

python - 使用 Ingress 的 Kubernetes 中的 Django 文档

ios - 在 iOS 10 的 swift 3 中进行休息调用时出错

web-services - JAX-RS 2.0 RESTful web 服务和 tomcat 8.0 的部署错误

java - 如何为 HTTP GET 的多个键值参数设计 REST URI