适合 django 的前端 mvvm 框架有哪些? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lixia625
V2EX    Django

适合 django 的前端 mvvm 框架有哪些?

  •  
  •   lixia625 2015-12-10 18:30:11 +08:00 14770 次点击
    这是一个创建于 3600 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最好有开源项目可以学习学习。
    写 jQuery 要写吐了。
    急需要变身。
    先谢谢各位。

    29 条回复    2016-04-07 22:20:46 +08:00
    windfarer
        1
    windfarer  
       2015-12-10 18:34:46 +08:00 via Android
    其实 rest 接口的话用哪个都一样吧,先试试 angular ?
    lixia625
        2
    lixia625  
    OP
       2015-12-10 18:45:41 +08:00
    @windfarer
    然而这是在一个有一定规模重构无力、有严重 django template 依赖的项目背景下,
    想逐步的脱离 jquery 这种模式,是否可行
    heian0224
        3
    heian0224  
       2015-12-10 18:53:22 +08:00 via Android
    试试 vue?
    restran
        4
    restran  
       2015-12-10 18:59:02 +08:00
    vue +1
    hantsy
        5
    hantsy  
       2015-12-10 19:00:37 +08:00
    前后分离, REST API 交互。

    前端使用 SPA 模式,根本不用关心后面端是什么语言实现。

    https://github.com/hantsy
    lixia625
        6
    lixia625  
    OP
       2015-12-10 19:02:38 +08:00
    @heian0224
    刚刚想说这个,正准备按官方教程上手,首先就来个大括号冲突,
    跑去一搜(并不是百度),我擦,基本没有多少 django+vuejs 相关的信息。
    lixia625
        7
    lixia625  
    OP
       2015-12-10 19:02:54 +08:00
    @restran 同上
    lixia625
        8
    lixia625  
    OP
       2015-12-10 19:04:31 +08:00
    @hantsy
    这个大概知道,问题是现在不可能全部推翻重来,在现有的项目基础之上怎么做前后端分离(主要是原来的东西依赖模板,分不出来啊)
    timonwong
        9
    timonwong  
       2015-12-10 19:31:51 +08:00   2
    我们用的是 AngularJs ,流程目前是走 Gulp + Browserify (所有的 templates 都会编译为 js ,不走 HTTP 请求),短期内会替换为 webpack

    API 用的是 django-rest-framework ,由于我们没有数据库,但是有大量的 API 调用,稍微封了下。

    登录方面,由于我们这里是后端处理的 SSO (一个 Apache 模块),目前采用的是粗暴的在 django template 里面注入 js 的用户基本信息及 token 。

    对于模板之间的冲突,你可以在 django template 中,使用
    {% verbatim %}{% endverbatim %}
    or, 配置 angularjs 的 $interpolateProvider( https://docs.angularjs.org/api/ng/provider/$interpolateProvider, 当然我们没有这样做,因为 template 都编译了)
    startSymbol();
    endSymbol();
    timonwong
        10
    timonwong  
       2015-12-10 19:32:59 +08:00
    当然,如果你不是使用 SPA ,可以参考 horizon 的做法,我个人不怎么喜欢
    jarlyyn
        11
    jarlyyn  
       2015-12-10 19:43:41 +08:00
    如果用 mvvm ,后台是啥重要么?

    就算 jquery,配合 underscore/lodash 的模板实现一下也不复杂吧
    lwbjing
        12
    lwbjing  
       2015-12-10 19:53:06 +08:00
    两个不搭噶啊哥... 前端千变万化,任你后端用的啥...
    cxbig
        13
    cxbig  
       2015-12-10 19:54:18 +08:00
    建议 React+Redux
    lwbjing
        14
    lwbjing  
       2015-12-10 19:58:27 +08:00   1
    正经一下... avalonjs 适合你需要搭配低版本 IE 的场景.. 然后 angular 而言,还是推荐 vue ,如果是写后台的话,不妨看看蚂蚁金服的 [react ui]( http://ant.design/) 实现..
    shooter
        15
    shooter  
       2015-12-10 20:02:06 +08:00
    clino
        16
    clino  
       2015-12-10 20:19:41 +08:00
    avalonjs
    sox
        17
    sox  
       2015-12-10 20:22:16 +08:00
    重构麻烦的话,推荐 Vue 和为非单页应用设计的 vue-simple-router https://github.com/egoist/vue-simple-router

    和是不是 django 没有任何关系。
    LancerComet
        18
    LancerComet  
       2015-12-10 20:30:05 +08:00
    楼主不妨试试 Avalon + Browserify ,个人感觉 Webpack + Vue 可能会增加楼主学习成本(?)
    avichen
        19
    avichen  
       2015-12-10 21:03:31 +08:00
    @lwbjing ant 好东西啊,谢谢分享
    hbkdsm
        20
    hbkdsm  
       2015-12-10 21:06:59 +08:00
    用啥不重要,重要的是先进行前后端分离
    yunkou
        21
    yunkou  
       2015-12-10 22:50:05 +08:00
    Vue
    chemzqm
        22
    chemzqm  
       2015-12-10 23:05:31 +08:00   1
    我觉得你还是就用 jquery 吧 换别的只会让你吐更多
    lixia625
        23
    lixia625  
    OP
       2015-12-11 00:00:34 +08:00 via Android
    @chemzqm 这是为啥:-(
    tongqi
        24
    tongqi  
       2015-12-11 00:36:19 +08:00 via iPad   2
    前端: react + react-router + redux + webpack
    后端: django-rest-framework
    hqlf6rqieee3
        25
    hqlf6rqieee3  
       2015-12-11 14:20:50 +08:00
    前端: angular
    后端: django-rest-framework
    lyhapple
        26
    lyhapple  
       2015-12-11 16:13:53 +08:00
    https://github.com/lyhapple/django-adminlte 中午刚 push 了一个, 用的 vue.js , 不过用的不彻底,还在用 jquery
    lixia625
        27
    lixia625  
    OP
       2015-12-11 23:06:14 +08:00 via Android
    @lyhapple
    棒极 待我一会儿观摩观摩
    bwangel
        28
    bwangel  
       2016-03-01 07:36:37 +08:00
    @timonwong 有用,谢谢!
    zonghua
        29
    zonghua  
       2016-04-07 22:20:46 +08:00 via iPhone
    @chemzqm 用其它前端框架的话什么都要重新适应,都分离了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 19:51 PVG 03:51 LAX 12:51 JFK 15:51
    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