题主想做一个分布式的任务处理系统,目前正在设计和测试原型系统,后端部分的技术点差不多已经解决了,现在正在考虑前端的开发。 由于后端是用 python 开发的,所以前端也想直接使用 python ,参考了对各种 web 框架的网评,本着开箱即用的目的,题主选择了 django ,学习 django 的成本还不算太高,完成 django 的入门教程基本够满足题主的需求了。
可是问题来了,题主想要一个漂亮的界面,虽然这个系统用户不会很多,但还是比较爱面子,所以各种 google 最后找到了 adminlte 。题主没怎么接触过前端开发,在 adminlte 里摸索了半天,差不多搞懂了 bootstrap3 、 template 这些概念,还找到了 django-amdinlte2 这种傻瓜式的插件,本以为可以开始开心的敲代码了,哪知 django-amdinlte2 和真正的 adminlte 还是有很多差别的,有些东西达不到题主想要的效果。
因为这不是一个以内容为主的应用,前端只是做一些任务的管理和状态的显示,所以题主甚至想为后端写几个 RESTAPI ,把前端完全剥离出来。不知道大家有没有更好的选择。
1
loading 2017-03-20 21:44:12 +08:00 via Android 1
写成 api ,后端只给基本的页面跳转逻辑(也就是不开发 spa 版本),用 json 传数据,前端只用 jquery 这些易上手的,用 bootstrap 2,这样难度会下降到可接受的程度。
|
2
loading 2017-03-20 21:45:50 +08:00 via Android 1
等前端水平上来了,直接换到 vue.js 等库, api 依然可用,前端大改,后端也就稍微适应一下就行了。
|
3
Kilerd 2017-03-20 21:52:33 +08:00
所以前端也想直接使用 python
????? |
4
HLT 2017-03-20 22:13:53 +08:00
原文:题主没怎么接触过前端开发,在 adminlte 里摸索了半天,差不多搞懂了 bootstrap3 、 template 这些概念。。。
扔给专业的人来做 不好吗? 你这不是差不多搞懂了概念。。。你是前端啥啥不懂啊 |
5
lecher 2017-03-21 01:54:43 +08:00 via Android 1
我用 admin LTE 做过管理后台模板。 admin LTE 要想用好光靠后端渲染是不够的,好多 admin LTE 集成的插件是要写 JavaScript 的代码的,获取后端的数据之后通过 JS 来做数据渲染。
如果是想快速在 admin LTE 上面做开发,建议不要用 Django 集成的模板,拆成 restful 的形式, Django 、 flask 、 tornado 什么框架都好,只提供 API 接口。交互效果全部交给 admin LTE 的各种插件完成。这样开发起来会轻松一些。 其实 admin LTE 这种形式的交互效果,如果要做的业务比较复杂的话,写起来 JavaScript 的代码量还是挺多的,因为要写很多网络请求的接口去拿数据。尤其你的任务系统可能会用到报表,还可能要集成不同的报表插件,所以不要对 admin LTE 抱太大的改造希望。这是一个庞大的管理后台模板,很多效果都是靠不同的插件完成的,实际开发的时候可能要去好几个不同的插件官网查看文档,做好这个心理准备。 如果有时间和精力学习 JavaScript ,我觉得可以考虑用用 vuejs 方面的模板,我是个主后端的开发,做个人项目的时候最头疼的就是前端交互的逻辑,因为做出来的又丑又繁琐,接触 vuejs 之后,仅仅就是用 vue 替代 jQuery 就省去了我很多写前端渲染的精力,所以在这里推荐一下 vuejs ,考虑一下用它替换 jQuery 试试看? |
7
shepherd OP 感谢大家的回复,就不一个一个 @了
|
8
est 2017-03-21 08:58:27 +08:00
admin lte 只是个壳子。要做出那个样子非常花时间。
|
9
evil4ngl3 2017-03-21 09:21:42 +08:00 2
哈哈,前段时间正好在跟楼主做一样的事情, 不过我用的是 flask 尝试的,最后转了一圈发现,发现不如 @loading 说的那样。服务器上用 python 处理任务,然后用 python-eve 把功能做成 REST API ,前端你想怎么改就怎么改了。我准备学习用 vuejs ^_~
|
10
ansheng 2017-03-21 09:36:28 +08:00
adminlte 只是个模板而已,
|
11
PythonAnswer 2017-03-21 09:42:59 +08:00 1
建议:
这样弄 m: django orm v: vue.js c: django url django 通过 restfulapi 吐出数据给 vuejs 吃 |
12
loading 2017-03-21 12:15:57 +08:00 via Android
@evil4ngl3 是的,我以前也是用的 flask 。
现在也是计划 vuejs ,不过我后端换 golang 了。 |
13
settings 2017-03-21 13:12:21 +08:00 1
可以看看我们公司维护的这个 django-adminlte ,内置了菜单、权限等功能,直接用 adminlte 的表单和 table 就可以了
https://github.com/beastbikes/django-adminlte |
14
findex 2017-03-22 15:53:17 +08:00
@PythonAnswer 你这样做, 还不如直接上 SQLAlchemy, 绕个大弯. django db model 性能不是一般的差. django 的 URL 好用吗? 生产环境这样的组合不推荐. 当然看上去题主看上去还在学习中, 这些东西足够展示了.
|
15
qile1 2017-03-23 14:46:01 +08:00 via Android
问下是自己做吗?我也想弄一个后台任务管理的,自己研究是否可以一起弄弄
|
16
shepherd OP @qile1 自己做。
看了上面的回复,这两天在看 django rest framework 和 flask ,又不知道怎么下手了。。。我想把 api 做成 token 验证的,目前暂时卡在 django 的 csrf 验证问题上。 |
17
shepherd OP @loading 用 golang 来做分布式任务吗?是不是 Machinery ,之前也看了一下 Machinery ,感觉没有 python 那么容易集成。
|
19
Kallen 2017-03-29 14:19:56 +08:00 1
adminlte 这个前端模板很容易和 django 结合呀, 用 adminlte 里的 start.html 写一个 `base.html` 的父模板, 然后用 django 的 extends 模板继承就可以了, 剩下的就是数据渲染了, 就这么简单!
|
20
shepherd OP 花了两周时间来调研前端技术,收获不少,又确定了大概方向
|