推荐学习书目
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 · 9320 views
    This topic created in 3024 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
        1
    helloword001  
    OP
       Jan 31, 2018
    消灭 0 回复
    owenliang
        2
    owenliang  
       Jan 31, 2018
    用 rest 干啥,看 django。
    helloword001
        3
    helloword001  
    OP
       Jan 31, 2018
    @owenliang 不开发 web 端,只是用 Django rest framework 给 iOS 和安卓写接口用
    adeweb
        4
    adeweb  
       Jan 31, 2018
    我是看了这个文档 https://darkcooking.gitbooks.io/django-rest-framework-cn/content/
    然后后续在官网找答案,基本上解决了数据展示和权限之类的,目前还不清楚怎么自定义返回数据的结构,特别是返回错误。
    owenliang
        5
    owenliang  
       Jan 31, 2018
    @helloword001 和 web 有啥关系。。django 是个 mvc 框架,可以吐数据也可以吐页面。

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

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

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

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

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

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


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

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

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