djangorestframework初步使用(一)

原创 97阅读 · 时间2019年7月9日 17:14

1. 安装djangorestframework

pip install djangorestframework

 2. 在Django项目中的settings.py文件中进行配置

    在INSTALL_APPS中加入应用

INSTALLED_APPS = [
    ...
    'rest_framework',
]

3. 在APP名/models.py创建数据模型

class File(models.Model):
  # 名称
  name = models.CharField(max_length=10)

    def __str__(self):
        return self.name

4. 创建完数据模型之后,下面就要真正的开始对djangorestframework的使用了

(1)在该APP下创建serializers.py,注意文件名必须为serializers.py,不能使用其他的!

from rest_framework serializers


# 第一种序列化方式,该序列化器是通用的,但是要被序列化的模型有我们定义的字段,如name
class FileSerializer(serializers.Serializer):
    name = serializers.CharField()

 
# 第二种序列化方式相对来说可以省很多代码,但是只能对File模型使用,因为我们指定了序列化
# 的模型为File
class FileSerializer(serializers.ModelSerializer):
    class Meta:
        model = File
        fields = ('id', 'name')  # 元组内为数据模型中需要序列化的字段

5. 添加处理视图

(1)采用CBV的模式进行开发,视图处理逻辑为返回所有的文件信息

Class AllFilesAPI(APIView):
    def get(self,request,**kwargs):
        files = File.objects.all()
        file_data = FileSerializer(files, many=True)
        Response(file_data.data)

(2)处理的视图继承了djangorestframework的APIview,该视图封装好了get和post等其他request请求方法,我们只需要根据我们的需求重写对应的方法即可。

(3)数据的返回方法也改用djangorestframework的Response,否则接受不到响应结果,另外需要注意的只能传输Json数据,因为它将django自带的JsonResponse进行了封装。

6. 在APP名/urls.py中添加对应的路由

from . import views

urlpatterns = [
    url(views.AllFilesAPI.as_view()),
]

到此为止,djangorestframework的简单实用已经初步完成,接下里通过postman访问我们定义的路由即可看到系统返回的json数据。


总结:

    对于前后端开发来说,后台返回的数据一般都是json数据,而djangorestframework也给我们封装好了数据序列化的方式。

对于djangorestframework的使用本文只是简单的做了一个demo,还有很多的知识点还需要我们继续摸索。

人生苦短,我学Python!



评论

人生苦短,我学Python!

相关文章推荐 ?
近七日热文推荐 !
回到顶部