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
nonoda
V2EX  ›  Python

大家用 Django 开发网站的时候,先设计数据库还是先做前端?

  •  
  •   nonoda · 2019-11-13 11:37:44 +08:00 · 4748 次点击
    这是一个创建于 1618 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小白,不知道大家怎么操作

    15 条回复    2019-11-14 01:01:23 +08:00
    agileguo
        1
    agileguo  
       2019-11-13 12:22:41 +08:00   ❤️ 1
    是先设计 model
    HiCode
        2
    HiCode  
       2019-11-13 12:23:33 +08:00   ❤️ 1
    我只谈小型项目中的经验(我也没做过大型的):

    一般是产品经理或客户,根据自己的想法,做出原型,找设计师根据原型做出设计稿;

    然后后端根据原型及设计稿里的细节——设计数据库,确定后台系统所需功能(包括菜单、表格、表单页面等),先写好数据库,再开始撸前端页面及后台接口。

    写页面的时候可能会遇到原先设计数据库时有些细节没考虑清楚,那么再回头去调整补充数据库。

    如果有需求文档更好,但小项目一般是没有的,所以原型图和设计稿成了最重要的一环。
    wangyzj
        3
    wangyzj  
       2019-11-13 12:24:55 +08:00   ❤️ 1
    设计师出来的东西定了之后
    数据库和前端就可以同时开始了
    orzorzorzorz
        4
    orzorzorzorz  
       2019-11-13 12:27:55 +08:00 via Android   ❤️ 1
    我做的话一般都是先弄库表,再弄接口,然后是这页面交互。然后看页面有不合理的地方看着改改库表,然后就定型了。
    flyingghost
        5
    flyingghost  
       2019-11-13 12:40:38 +08:00   ❤️ 1
    先做原型。哪怕是草图,也得把核心逻辑、交互想清楚。
    然后是模型,模型出来了,数据库和前后端接口也差不多出来了。
    之后前后端就无所谓先后了。
    crackhopper
        6
    crackhopper  
       2019-11-13 13:02:38 +08:00   ❤️ 1
    1. 分析需求。场景->用例->系统模块设计
    2. 设计接口 API。解耦系统之间的依赖,考虑一定的扩展性。
    3. (optional) 针对 API 编写单元测试
    4. 开发,debug,通过单元测试
    5. (optional) QA 进一步 E2E 测试、黑盒测试、压力测试(如果需要的话)
    6. 交付 或者 完成一次迭代,重新回到 1
    crackhopper
        7
    crackhopper  
       2019-11-13 13:04:18 +08:00   ❤️ 1
    先做数据库还是先做前端:
    - 在开发的过程中并行做。(如果多个人协同)
    - 一个人开发的时候,其实都行。没啥太大差别。
    - 关键还是需求分析和 API 设计做得到不到位。
    SjwNo1
        8
    SjwNo1  
       2019-11-13 13:50:33 +08:00   ❤️ 1
    我寻思 先做前端也要预留坑位 还不如先搭 model
    cnanyi
        9
    cnanyi  
       2019-11-13 13:53:21 +08:00   ❤️ 1
    用 django 的话, 比较习惯与用 django orm 机制,不断修改实体类,并 migrate 到数据库
    okwork
        10
    okwork  
       2019-11-13 14:09:40 +08:00 via Android   ❤️ 1
    建议先找同类产品参照下,你开发的产品应该是改良型的吧,通常不是革命型的(革命型的创新往往很难借鉴到现有经验)。看看别人的架构,再开始动手。
    nonoda
        11
    nonoda  
    OP
       2019-11-13 14:13:38 +08:00
    谢谢大家的指教。因为我要做一个数据填报类的网站,然后根据大家的建议,想着先把数据库搞好吧(也就是写好 model )。不会实际投入使用,我先练习一下。
    wysnylc
        12
    wysnylc  
       2019-11-13 14:51:10 +08:00
    从设计方面来讲:前端->后端
    设计完成后开发的话:后端写完接口给前端
    简单讲就是产品原型->后端接口->前端页面
    qsbaq
        13
    qsbaq  
       2019-11-13 15:01:04 +08:00
    先设计 model ,这样的话整个项目在你脑海里会一次次的循环使用场景需求等信息。
    laravel
        14
    laravel  
       2019-11-13 16:56:01 +08:00
    如果完全是一个人做的话,我都是先设计数据库,然后前端和 api 可以同时进行。
    fakepoet
        15
    fakepoet  
       2019-11-14 01:01:23 +08:00
    人均架构师 :doge:
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5486 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:21 · PVG 11:21 · LAX 20:21 · JFK 23:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.