从零开始搭建django前后端分离项目 系列一(技术选型)

Posted dotafeiying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始搭建django前后端分离项目 系列一(技术选型)相关的知识,希望对你有一定的参考价值。

前言

最近公司要求基于公司的hadoop平台做一个关于电信移动网络的数据分析平台,整个项目需求大体分为四大功能模块:数据挖掘分析、报表数据查询、GIS地理化展示、任务监控管理。由于页面功能较复杂,所以采用前后端分离方式开发。前端采用webpack+vue+vue-router+axios技术栈,后端用django进行开发。从搭建到上线,整个项目前前后后花了差不多一个月时间,中途也遇到一些问题,不过还好都解决了。由于是个人项目,所以我打算把源码贡献出来大家一起讨论学习。

 

源代码

https://github.com/dotafeiying/myproject

 

关于技术选型

由于页面交互较多,所以整个项目采用前后端分离方式开发。使用Vue.js作为前端框架,代替Django本身较为孱弱的模板引擎,Django则作为服务端提供api接口,使得前后端实现完全分离,更适合单页应用的开发构建。

 

使用框架

前端:

webpack + vue + axios + element-ui + iview + zui + jquery

后端:

django + celery

数据库:

mysql + redis

数据分析:

impala + pandas + sklearn

 

项目目录

前端

技术分享图片

后端

技术分享图片

 

 

实现的功能

1、文件上传预览

2、异步任务执行

3、websocket实现实时进度

4、表格分页

5、excel文件动态导出

6、pandas数据分析

7、impala大数据实时查询分析

8、KMeans、DBSCAN聚类分析

9、距离计算算法优化

10、GIS地图展示

11、websocket实现实时进度和动态渲染

12、百度地图批量经纬度转换(服务端实现)

13、历史数据流式查询,解决数据量过大问题

14、树组件懒加载,改善用户体验

15、excel文件流式导出

16、celery异步任务监控管理,websocket实时监控

17、django后台管理

18、项目部署nginx+uwsgi+django+centos7.5

 

效果图:

文件上传前进行数据核查和预览

 技术分享图片

异步任务执行和实时进度

技术分享图片

表格分页

技术分享图片

海量点聚类分析和GIS展示

技术分享图片

 历史数据流式查询和树节点懒加载

 技术分享图片

异步任务实时监控和管理

技术分享图片

 

以上是关于从零开始搭建django前后端分离项目 系列一(技术选型)的主要内容,如果未能解决你的问题,请参考以下文章

还在从零开始搭建项目?推荐一款高颜值的前后端分离脚手架!

从零开始搭建前后端分离的NetCore(EF Core CodeFirst+Au)+Vue的项目框架之三统一返回数据

Ruoyi前后端分离式开源项目实战部署总结-环境搭建准备工作

从零开始搭建前后端分离的NetCore(EF Core CodeFirst+Au)+Vue的项目框架之二autofac解耦

从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之七使用JWT生成Token(个人见解)

前后端分离项目从零开始