美文网首页大数据 爬虫Python AI Sql
django rest framework------一脸懵逼

django rest framework------一脸懵逼

作者: 2a53ffc328de | 来源:发表于2018-09-07 21:47 被阅读2次

Warning:本文仅适用小白科普,老手请绕道。

我只想要妹子图

djangorestframework是一个能提供restful风格api的........框架?包?无所谓,我们关心的是他能干什么。

首先,什么是restful api?

就是rest风格的api。

什么是rest风格的api?

就是能返回我所需的资源的api。

???

举个栗子,我们在浏览器中输入jiandan.net(煎蛋网)

后端服务器将煎蛋的首页返回个浏览器,是一个html文件。当然,上面包含了各种媒体资源的链接,比如我们最喜欢的妹子图。

好了,现在我不想要煎蛋网首页了,因为上面的东西太多了,影响我学习(我只想要妹子图,其他的栏目我不敢兴趣)

我只想下载所有煎蛋妹子图并保存到本地,以供我学习研究用(滑稽)

我只关心妹子图,其他的什么html我不感兴趣。

能不能只要妹子图,不要首页?

好的,假设煎蛋网听到了你的呼声,开发了api接口。

现在煎蛋网提供了restful api,可以让我们可以按照他给出的方式获取相应的资源。

于是我只要在浏览器中输入jiandan.net/meizi

回车!

满屏的妹子图!!其他什么都没有!(当然,是妹子图的链接(滑稽))

这就是restful api

能返回资源或者资源地址的接口

光django也行,只是比较麻烦

本来,要想让网站能对外提供restful api,光django也行,我们先看下django下是如何对外提供restful api的。

假设现在我们已经启动了一个django项目,并且model.py文件下已经定义了Goods这个类,如下所示:

class Goods(models.Model):

    name = models.CharField(max_length=100, verbose_name="商品名")

    market_price = models.FloatField(default=0, verbose_name="市场价格")

add_time=models.DateTimeField(default=datetime.now, verbose_name="添加时间")

为了能让用户在浏览器中输入'域名/goods'  就能在浏览器中看到所有数据库中的商品的信息,我们需要配置下view.py这个文件:

class GoodListView(View):

    def get(self,request):

        goods=Goods.objects.all() #获取所有商品,类型为list

        json_data = serializers.serialize('json', goods) #序列化

        json_data = json.loads(json_data) #反序列化

        returnJsonResponse(json_data, safe=False) #返回json格式的数据

上面之所以发生了先serializers.serialize()序列化,再json.load()反序列化这种逆天操作。

是因为,json模块本身的序列化能力有限,无法序列化add_time这种时间类型的数据.......

于是只能曲线救国。

好了,现在在url.py文件中配置我们的路由表,将指向域名/goods 的请求转给GoodListView来处理。

urlpatterns = [

    url(r'^goods/', GoodsListView.as_view(), name='goods_list'),

]

其他一些django常规操作先不表。

假设一切正常,当我们在浏览器中输入'localhost:8000/goods' 我们就能看到满屏的goods数据,都是json格式的。

既然json是通用的数据交换格式,有了json就什么都有了。

这么说来,django已经够了呀?还要什么@#%%framework呢?

不够好用,我们要更好用的-----790 contributers from github

所以,我们有了

djangorestframework!

相关文章

  • django rest framework------一脸懵逼

    Warning:本文仅适用小白科普,老手请绕道。 我只想要妹子图 djangorestframework是一个能提...

  • django rest framework------得心应手

    Warninig:本文仅适用小白,老手请绕道 总共,分三步 对于一个从未接触的新事物来说,我偏向于先看看他的外表,...

  • 我就是我

    “懵逼树上懵逼果 懵逼树下懵逼的我 我望着懵逼树上的懵逼果 一个懵逼果砸到懵逼的我 我吃完懵逼果 一脸懵逼” 性情...

  • 日记

    一脸懵逼

  • 2018-10-10

    蜜汁手绘,一脸懵逼

  • "一脸懵逼"

    最近新出一词真逗逼 一脸懵逼 我喜欢这个词 就适合我现在这个状态 我宁愿活在一个单纯美好的世界里 早上晚起了几分钟...

  • 一脸懵逼

    啥情况?

  • 一脸懵逼

    君念恩心头一跳,连连干笑了声,道:“我和老大怎么了,我和他很正常啊,老大很关照我的,自从救了我那一天,就把我当弟弟...

  • 一脸懵逼

    在边界地方做点小本生意真他妈的不容易啊,17年银行卡冻结了一张,听话照做 听了他们要求的该提供证件 都提供传上,如...

  • DjangoRestful结合hui框架后台实践总结

    Django REST framework Django REST framework is a powerful...

网友评论

    本文标题:django rest framework------一脸懵逼

    本文链接:https://www.haomeiwen.com/subject/ejdyvftx.html