推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
helloword001
V2EX  ›  Python

看了 Django rest framework 的官方文档还是不会写 API,请问怎么破

  •  
  •   helloword001 · Jan 31, 2018 · 9811 views
    This topic created in 3201 days ago, the information mentioned may be changed or developed.

    想给移动端写 API 接口调用,选了 Django rest framework 框架,可是看了后还是不会写,请各位大神指点一下哦

    Supplement 1  ·  Feb 1, 2018
    谢谢大家的建议
    Supplement 2  ·  Feb 1, 2018
    我还有个问题:1,我想抓取 facebook 和 Twitter 的数据,scrapy 需要用到国外代理 IP,请问大家有什么好的解决方案吗
    Supplement 3  ·  Feb 1, 2018
    2,如果用国外代理 IP 方案的话,我租了一个国外的云服务器(vultr),可是怎么把这个服务器变成代理服务器呢?
    37 replies  •  2018-09-19 12:02:01 +08:00
    helloword001
    helloword001
    OP
    Jan 31, 2018
    1
    消灭 0 回复
    owenliang
    owenliang
    Jan 31, 2018
    2
    用 rest 干啥,看 django。
    helloword001
    helloword001
    OP
    Jan 31, 2018
    3
    @owenliang 不开发 web 端,只是用 Django rest framework 给 iOS 和安卓写接口用
    adeweb
    adeweb
    Jan 31, 2018
    4
    我是看了这个文档 https://darkcooking.gitbooks.io/django-rest-framework-cn/content/
    然后后续在官网找答案,基本上解决了数据展示和权限之类的,目前还不清楚怎么自定义返回数据的结构,特别是返回错误。
    owenliang
    owenliang
    Jan 31, 2018
    5
    @helloword001 和 web 有啥关系。。django 是个 mvc 框架,可以吐数据也可以吐页面。

    你知道 rest 风格是啥东西么。。。
    helloword001
    helloword001
    OP
    Jan 31, 2018
    6
    @adeweb 我看得也是这个
    helloword001
    helloword001
    OP
    Jan 31, 2018
    7
    @owenliang Django rest framework 不是专门写 API 用的吗
    adeweb
    adeweb
    Jan 31, 2018
    8
    @helloword001 #6 还是看官网吧。网上找了一圈,没有特别好的中文资料。只能啃官网英文文档。
    aristotll
    aristotll
    Jan 31, 2018
    9
    你还是用 js 的框架吧 如 sails... 之类的
    helloword001
    helloword001
    OP
    Jan 31, 2018
    10
    @adeweb 好的,谢谢
    owenliang
    owenliang
    Jan 31, 2018 via Android
    11
    @helloword001 当然不是啊 你学 django 就可以 rest 这个可以忽略
    helloword001
    helloword001
    OP
    Jan 31, 2018
    12
    @aristotll 暂时只考虑 Python
    knightdf
    knightdf
    Jan 31, 2018
    13
    换 flask 或者 tornado :dog:
    BiggerLonger
    BiggerLonger
    Jan 31, 2018
    14
    上 falcon 啊
    chengxiao
    chengxiao
    Jan 31, 2018❤️1
    15
    写接口也不一定非要用 rest 风格呀?
    django 自带的 jsonresponse 也可以
    LINAICAI
    LINAICAI
    Jan 31, 2018
    16
    flask 看看
    why1
    why1
    Jan 31, 2018 via Android
    17
    可用,没过时,Python 是 2.7,Django 我选 1.11 版本
    WildCat
    WildCat
    Jan 31, 2018
    18
    感觉 drf 设计很反人类,还是用我的 rails
    so1n
    so1n
    Jan 31, 2018
    19
    慕课网有个 django+vue+django rest fram 的视频 你看 rest 部分就好 我是官网看不懂去看那个视频的 得自己找下别人录制的
    robinlovemaggie
    robinlovemaggie
    Jan 31, 2018
    20
    DRF 没那么简单的,还是花巨资找人写算了,比如找我。
    ox180
    ox180
    Jan 31, 2018
    21
    我来帮你写
    JamesMackerel
    JamesMackerel
    Jan 31, 2018
    22
    我也看了一下 Django 的 REST framework,所以我选择 Flask。
    thinker3
    thinker3
    Jan 31, 2018
    23
    要看英文文档
    SP00F
    SP00F
    Jan 31, 2018
    24
    我选择 tornado。。。
    mayne95
    mayne95
    Jan 31, 2018 via Android
    25
    他那个文档还算不错。就是入门的指导有点啰嗦。怎么说呢,他先给你介绍 增删改查的类,然后又说我们 把这四个类合并起来了,你只需要用这个混合类就行了。饶了一大圈最佳实践放到后面才讲出来。

    这个框架跟 django 一样开箱即用。定义模型,定义 serializer,然后定义 viewset。

    serializer 绑定模型,然后指定 API 显示哪些 字段是否可读 等等信息。

    混合的 viewset 类继承了增删改查 4 个类的方法, 重载混合类对应的方法,就可以实现重载增删改查的行为。

    如果要快速的看到效果,用那个混合类是最方便的,什么都不用写。
    edsion996
    edsion996
    Feb 1, 2018 via iPhone
    26
    这个文档是我看过的文档里最难懂的
    fakepoet
    fakepoet
    Feb 1, 2018
    27
    一直在用 DRF,大概的思路是,业务逻辑基本都写在 Model 层,校验和数据处理写在 Serializer 层,View 层只负责最简单的业务逻辑,按照这个原则来写的话就会清晰一些了。
    fakepoet
    fakepoet
    Feb 1, 2018❤️1
    28
    不过确实学习曲线略陡峭,主要还是因为违背了 python 的哲学,里面有很多隐式实现和调用,需要阅读大量源码和亲手实践之后才能完全掌握,不过一旦掌握的话,开发效率会有很大提升。
    toono
    toono
    Feb 1, 2018
    29
    很简单的接口需求可以选择 bottle。

    Django rest framework 跟 #28 说的一样,稍微陡峭,但是一旦用了一次,下次再使用它写接口就快得离谱。而且非常容易遵循 RESTful 的原则。


    附上用了 Django rest framework 的项目。
    https://github.com/ToonoW/SpiderManager

    上面的项目虽然用了,但是是不好的实践,没有做权限的管理,路由也配置得不怎么好。所以请不要当作范例。多去摸索英文文档。
    pixstone
    pixstone
    Feb 1, 2018
    30
    喵喵喵。DRF 还陡峭啊。。。。
    ooeyunarika
    ooeyunarika
    Feb 1, 2018
    31
    首先得先看懂 django。。。
    scukmh
    scukmh
    Feb 1, 2018
    32
    直接把你的爬虫挂到国外去, 代理 ip 的方案比较麻烦。
    helloword001
    helloword001
    OP
    Feb 1, 2018
    33
    @scukmh 聪明
    zzlettle
    zzlettle
    Feb 1, 2018
    34
    我也看过那个 rest framework,实在看的头晕,反正我的开发需要的 api 很少,用 json 传递数据,自己写不是更灵活
    搞不清楚为什么要这个所谓了框架
    这个所谓的 rest framework 相当于,你买来了食材,请一个阿姨来做饭,但你家里的锅碗瓢盆都是现成的,难道做个简单的烧水泡面就不会吗?还要请阿姨来做?稍微有点生活的人,都可以把食材做出几个家常菜出来,更灵活。请阿姨,还费钱,人家只做她拿手的。
    django 和 rest framework 的关系就是这样

    用 django 自己做 rest api
    woodme0000
    woodme0000
    Feb 5, 2018
    35
    rest 里面处理嵌套类怎么搞,比如在博客页面把,评论也展示出来。
    RaymondLiu
    RaymondLiu
    Feb 8, 2018 via iPhone
    36
    Flask-restful 解决你的问题而且很简单
    Desperado2018
    Desperado2018
    Sep 19, 2018
    37
    flask 你值得拥有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4462 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 09:26 · PVG 17:26 · LAX 01:26 · JFK 04:26
    ♥ Do have faith in what you're doing.