python restful django_利用Django实现RESTful API-阿里云开发者社区

本文介绍了如何利用Django RESTframework快速构建RESTful API。首先讲解了RESTful架构的基础,然后通过安装配置Django RESTframework,创建model和Serializer,展示了如何在Django视图中使用Serializer及ModelSerializer。最后,文中详细阐述了如何测试API并提供了示例操作。
摘要由CSDN通过智能技术生成

RESTful API现在很流行,这里是它的介绍 理解RESTful架构和 RESTful API设计指南.按照Django的常规方法当然也可以实现REST,但有一种更快捷、强大的方法,那就是 Django RESTframework.它是python的一个模块,通过在Django里面配置就可以把app的models中的各个表实现RESTful API。下面是实现方法:

一、安装配置

pip install djangorestframework

pip install markdown       # Markdown support for the browsable API.pip install django-filter  # Filtering support

再到Django的 settings.py 中的INSTALLED_APPS添加 rest_framework,如下:

在根目录的 url.py 文件中为rest_framework框架的 login 和 logout 视图添加url:

二、创建model和Serializer

创建app,名为 snippets.。在视图 models.py 中添加一张表如下:

然后开始同步到数据库中:

接下来需要做的就是创建 Serializer类,类似于 Form。它的作用就是从你传入的参数中提取出你需要的数据,并把它转化为 json 格式(注意,已经是字节码了),同时支持反序列化到model对象。在 snippets 文件夹中添加 serializers.py 并在其添加如下:

三、使用Serializer

先使用 ./manage.py shell 进入Django的shell中。操作如下:

可以看到 Serializer 的使用如同 Django 的 forms.它的反序列化如下:

这是再把得到的数据转化为实例:

同时,我们还可以对 querysets 进行序列化,只需简单地在设置参数 many=True,如下:

四、使用 ModelSerializer

ModelSerializer类似于Django的 modelform, 可以直接关联到models中的表。如下:

五、在Django的视图中使用Serializer

首先,可以像常规Django视图的写法一样写,返回序列化的输出数据。

也可以写一个视图对应其models中的表,实现对它的删、改、查。

添加对应的url, snippets/urls.py 中设置如下:

最后还要在根目录的 url.py 中添加对应的映射。

这时,所有的配置已经完成了。接下来就是测试我们的API

六、测试API

为了方便我们可以使用 httpie 模块来测试,启动Django,再在客户端输入http://127.0.0.1:8000/snippets/,操作如下:

还可以进行 put 操作,修改对应的内容

本文转自 sjfbjs 51CTO博客,原文链接:http://blog.51cto.com/11886896/2064575

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值