V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lixia625
V2EX  ›  Django

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

  •  
  •   lixia625 · Dec 10, 2015 · 15089 views
    This topic created in 3797 days ago, the information mentioned may be changed or developed.

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

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

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

    https://github.com/hantsy
    lixia625
        6
    lixia625  
    OP
       Dec 10, 2015
    @heian0224
    刚刚想说这个,正准备按官方教程上手,首先就来个大括号冲突,
    跑去一搜(并不是百度),我擦,基本没有多少 django+vuejs 相关的信息。
    lixia625
        7
    lixia625  
    OP
       Dec 10, 2015
    @restran 同上
    lixia625
        8
    lixia625  
    OP
       Dec 10, 2015
    @hantsy
    这个大概知道,问题是现在不可能全部推翻重来,在现有的项目基础之上怎么做前后端分离(主要是原来的东西依赖模板,分不出来啊)
    timonwong
        9
    timonwong  
       Dec 10, 2015   ❤️ 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  
       Dec 10, 2015
    当然,如果你不是使用 SPA ,可以参考 horizon 的做法,我个人不怎么喜欢
    jarlyyn
        11
    jarlyyn  
       Dec 10, 2015
    如果用 mvvm ,后台是啥重要么?

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

    和是不是 django 没有任何关系。
    LancerComet
        18
    LancerComet  
       Dec 10, 2015
    楼主不妨试试 Avalon + Browserify ,个人感觉 Webpack + Vue 可能会增加楼主学习成本(?)
    avichen
        19
    avichen  
       Dec 10, 2015
    @lwbjing ant 好东西啊,谢谢分享
    hbkdsm
        20
    hbkdsm  
       Dec 10, 2015
    用啥不重要,重要的是先进行前后端分离
    yunkou
        21
    yunkou  
       Dec 10, 2015
    Vue
    chemzqm
        22
    chemzqm  
       Dec 10, 2015   ❤️ 1
    我觉得你还是就用 jquery 吧 换别的只会让你吐更多😏
    lixia625
        23
    lixia625  
    OP
       Dec 11, 2015 via Android
    @chemzqm 这是为啥:-(
    tongqi
        24
    tongqi  
       Dec 11, 2015 via iPad   ❤️ 2
    前端: react + react-router + redux + webpack
    后端: django-rest-framework
    hqlf6rqieee3
        25
    hqlf6rqieee3  
       Dec 11, 2015
    前端: angular
    后端: django-rest-framework
    lyhapple
        26
    lyhapple  
       Dec 11, 2015
    https://github.com/lyhapple/django-adminlte 中午刚 push 了一个, 用的 vue.js , 不过用的不彻底,还在用 jquery
    lixia625
        27
    lixia625  
    OP
       Dec 11, 2015 via Android
    @lyhapple
    棒极 待我一会儿观摩观摩
    bwangel
        28
    bwangel  
       Mar 1, 2016
    @timonwong 有用,谢谢!
    zonghua
        29
    zonghua  
       Apr 7, 2016 via iPhone
    @chemzqm 用其它前端框架的话什么都要重新适应,都分离了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1095 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 23:57 · PVG 07:57 · LAX 16:57 · JFK 19:57
    ♥ Do have faith in what you're doing.