Django Rest Framework:默认以 JSON 格式输出到浏览器

jsDjango

1个回答

写回答

intimevivi

2025-06-12 17:50

+ 关注

Django
Django

使用Django Rest Framework(简称DRF)开发Web应用程序时,默认情况下会将数据以JSON格式输出到浏览器。DRF是一个强大的框架,它提供了许多功能和工具,使得开发API变得更加简单和高效。下面将详细介绍DRF以JSON格式输出数据的功能,并提供一个案例代码来说明。

首先,让我们来看一下DRF如何以JSON格式输出数据到浏览器。在DRF中,我们可以通过使用序列化器(Serializer)来定义API的输出格式。序列化器将模型数据转换为可序列化的JSON格式,并在API的响应中返回给客户端

假设我们有一个简单的模型类,表示一个学生的信息:

Python

from Django.db import models

class Student(models.Model):

name = models.CharField(max_length=100)

age = models.IntegerField()

grade = models.CharField(max_length=50)

为了将这个模型类的数据以JSON格式输出,我们可以创建一个序列化器类,如下所示:

Python

from rest_framework import serializers

from .models import Student

class StudentSerializer(serializers.ModelSerializer):

class Meta:

model = Student

fields = '__all__'

在上面的代码中,我们使用ModelSerializer来定义序列化器类,并指定模型为Student,字段为__all__,表示将所有字段都进行序列化。

接下来,我们需要创建一个视图来处理API请求,并使用序列化器来序列化模型数据。下面是一个简单的视图函数示例:

Python

from rest_framework import generics

from .models import Student

from .serializers import StudentSerializer

class StudentList(generics.ListAPIView):

queryset = Student.objects.all()

serializer_class = StudentSerializer

在上面的代码中,我们使用ListAPIView来创建一个基于类的视图,指定模型为Student,序列化器为StudentSerializerqueryset属性定义了查询集,即要进行序列化的数据集合。

现在,我们已经定义了视图和序列化器,接下来就可以通过访问API来获取JSON格式的学生数据了。例如,通过访问/students/可以获取所有学生的信息。

在这里,我们可以看到DRF默认以JSON格式输出数据到浏览器。JSON是一种轻量级的数据交换格式,易于阅读和解析。它的结构清晰,可以很好地表示复杂的数据结构。

案例代码:

Python

# models.py

from Django.db import models

class Student(models.Model):

name = models.CharField(max_length=100)

age = models.IntegerField()

grade = models.CharField(max_length=50)

# serializers.py

from rest_framework import serializers

from .models import Student

class StudentSerializer(serializers.ModelSerializer):

class Meta:

model = Student

fields = '__all__'

# views.py

from rest_framework import generics

from .models import Student

from .serializers import StudentSerializer

class StudentList(generics.ListAPIView):

queryset = Student.objects.all()

serializer_class = StudentSerializer

以上是关于DRF默认以JSON格式输出数据到浏览器的介绍和案例代码。通过DRF,我们可以方便地将模型数据序列化为JSON格式,并通过API将数据传输到客户端JSON格式的数据具有易读性和易解析性,使得前后端之间的数据交互更加便捷和高效。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号