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


    前言

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

    源代码

    后端:https://github.com/dotafeiying/myproject

    前端:https://github.com/dotafeiying/appfont

    关于技术选型

    由于页面交互较多,所以整个项目采用前后端分离方式开发。使用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展示

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

     

    异步任务实时监控和管理

  • 相关阅读:
    索引有什么用?
    数据类型的优化策略?
    MySQL的锁策略有什么?
    行锁
    Innodb_lock_waits
    Innodb_locks表
    软件安装笔记
    Spring Boot学习笔记
    AI学习总结
    笔试面试题总结
  • 原文地址:https://www.cnblogs.com/dotafeiying/p/9663514.html
Copyright © 2020-2023  润新知