V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
kaka826
V2EX  ›  Python

做一个移动 app 的 api,使用 python,有些疑问,请教给位 v 友

  •  
  •   kaka826 · 2016-01-17 20:51:04 +08:00 · 2139 次点击
    这是一个创建于 3212 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一次写一个 app 的后台 api ,决定用 flask ,提供 api 的同时,通过网页形式提供后台管理,大概思路是 api 返回 json 数据,同时提供网页,需不需要把这两部分分开呢,有没有这类的大概框架可供参考呢?

    8 条回复    2016-01-18 22:49:25 +08:00
    ljcarsenal
        1
    ljcarsenal  
       2016-01-17 23:07:47 +08:00 via Android
    后台只提供数据 前端渲染页面 用
    ljcarsenal
        2
    ljcarsenal  
       2016-01-17 23:08:35 +08:00 via Android
    可以用 mvvm 框架 或者 直接 ajax 取数据 用个模板引擎渲染
    kaka826
        3
    kaka826  
    OP
       2016-01-18 10:42:01 +08:00 via Android
    @ljcarsenal 不懂前端,我只需要提供接口,后端管理界面需要和 api 分开么
    shajiquan
        4
    shajiquan  
       2016-01-18 11:10:47 +08:00
    分开。不同的工具做不同的事情。
    kaka826
        5
    kaka826  
    OP
       2016-01-18 17:04:42 +08:00 via Android
    @shajiquan 统一写 api 网页后台管理界面也调 api ,再生成 html , html 也是我负责写,这部分技术完全没接触过,有什么项目可供参考的呢
    shajiquan
        6
    shajiquan  
       2016-01-18 18:53:09 +08:00   ❤️ 1
    @kaka826 app 的 api 是给 app 的用户用的,管理后台,是给管理人员用的。其中有共通之处 ,但也会有大量不同之处。

    需求、权限、授权机制、深度、广度都有不同。

    假设 app 里一个用户要看帖子列表, api 肯定会提供这个接口,还需要授权机制。

    按理说,后台也需要这个接口,但后台的需求应该又有所不同,首先授权机制就可能不同。其次对于帖子的搜索方面,需求比 app 端要多一些吧,而面向 app 的 api 未必需要提供这么多的支持,可能只是普通的按日查询,排发布日期排序之类的。

    而管理后台可能就需要很多条件了,比如评论数量超过 X 条的,被收藏 Y 次以上的等等。

    所以说,在这个层面上,是分开的。

    管理后台这边在使用数据时,如果没有更底层的 API 可供调用,那么这个需求,可能就需要管理后台直接去查库,甚至会查 N 张表来建立各种筛选条件。

    肯定也有一些接口是可以直接调用 API 的。比如说工具性的、公共性的。不过这还是要取决于 API 那边的授权机制,以及后台的账户体系。

    如果为了个别用户的『超级权限』,把 API 搞得巨复杂,巨多权限检测,恐怕也不是个好方案。


    这是我自己的一些经验,仅供参考。
    kaka826
        7
    kaka826  
    OP
       2016-01-18 20:29:19 +08:00 via Android
    @shajiquan 感谢,看了你的描述,感觉我的思想还是太狭隘了,好多都没考虑到。😄
    shajiquan
        8
    shajiquan  
       2016-01-18 22:49:25 +08:00
    @kaka826 不客气,多交流。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1090 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:35 · PVG 03:35 · LAX 12:35 · JFK 15:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.