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

2015-12-10 18:30:11 +08:00
 lixia625

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

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

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

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

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

和是不是 django 没有任何关系。
LancerComet
2015-12-10 20:30:05 +08:00
楼主不妨试试 Avalon + Browserify ,个人感觉 Webpack + Vue 可能会增加楼主学习成本(?)
avichen
2015-12-10 21:03:31 +08:00
@lwbjing ant 好东西啊,谢谢分享
hbkdsm
2015-12-10 21:06:59 +08:00
用啥不重要,重要的是先进行前后端分离

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/242627

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX