大家用 Django 开发网站的时候,先设计数据库还是先做前端? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn ython 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 5336 次点击
    这是一个创建于 2178 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    15 条回复    2019-11-14 01:01:23 +08:00
    agileguo
        1
    agileguo  
       2019-11-13 12:22:41 +08:00   1
    是先设计 model
    Q4h7388nR28s95fa
        2
    Q4h7388nR28s95fa  
       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:
    关于 &nbp;   帮助文档     自助推广系统     博客     API     FAQ     Solana     5256 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 398ms UTC 07:38 PVG 15:38 LAX 00:38 JFK 03:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86