【发布时间】:2023-02-15 20:20:44
【问题描述】:
我是 Django 的新手,每当我执行 json_data = JSONRenderer.render(serialized_student_data.data) 这行时,它都会给我错误TypeError: render() 缺少 1 个必需的位置参数:'data'
#这是models.py中的代码
class StudentModel(models.Model):
name = models.CharField(max_length=100, default='user')
roll_no = models.IntegerField(default=1)
city = models.CharField(max_length=100, default='Ahmedabad')
#这是serializers.py中的代码
class StudentSerializer(serializers.Serializer):
name = serializers.CharField(max_length=100)
roll_no = serializers.IntegerField()
city = serializers.CharField(max_length=100)
#这里是views.py中的代码
def student_view(request):
student_object = StudentModel.objects.get(id=3)
serialized_student_data = StudentSerializer(student_object)
json_data = JSONRenderer.render(serialized_student_data.data)
return HttpResponse(json_data, content_type='application/json')
【问题讨论】:
-
您应该在基于函数的视图上使用
@renderer_classes([JSONRenderer])并使用return Response(serialized_student_data) -
您将 Serializer 实例作为数据传递,但可能意味着传递序列化的
.data或.error。表示。它显示此错误。
标签: python-3.x django django-models django-rest-framework