TODA(Train Operation Data Analysis)系统

一、系统概况

  • 开发框架:Django Rest Framework(后端)+Vue(前端)+Mysql(数据库)
  • 版本信息:Django4.0/Vue3.2.33(Vue/cli 5.0.4)/Mysql8.0.25
  • 开发环境:Pycharm/Vs code/Macos
  • 数据基础:列车运行图实绩数据

二、框架特点

  • 数据的读取方法:ORM (object relational mapping)——原来的使用底层的 sql 语句,变成面向对象的开发,通过一系列对象的类定义和方法调用就可以操作数据库
  • 框架信息

三、主要功能

  • 列车运行实绩数据上传
  • 列车运行图主要性能指标查询
  • 列车数据查询
  • 车站数据查询
  • 晚点指标统计
  • 冗余时间查询
  • 作业间隔查询
  • 上述数据可视化功能
  • 机器学习预测晚点功能
  • 关键运行线识别功能

四、具体实现步骤

1.创立Django项目

方法一:cmd命令(win)或终端命令(macos),cd进入要创立的目录后输入(TODA为项目名)

django-admin startproject TODA

方法二:Pycharm创建项目,勾选Django项目,选择对应的虚拟环境(venv)

2.检查项目是否能够正常运行

(1)在pycharm内的终端输入

python manage.py runserver

(2)点开终端反馈的链接或直接在浏览器输入第二项,如果能看到绿色小火箭说明项目创立成功,若想要结束进程使用Ctrl+C

  • http://127.0.0.1:8000/

  • localhost:8000

3.连接Mysql数据库

(1)修改TODA/setting.py文件配置数据库基本信息

因为django默认的数据库为sqlite3,所以需要先修改“ENGINE”和“NAME”两个内容后自己输入相应的数据库信息,总体结构如下,其中“PASSWORD”是自己数据库对应的密码:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME':  '京沪运行图数据','USER': 'root','PASSWORD': 'hpr03260326','HOST': '127.0.0.1','PORT': '3306'}
}

(2)如果提示需要安装对应的包如mysqlclient

在终端pip install mysqlclient

(3)在pycharm右侧的数据库中新添数据库

点击“+”号,数据源,Mysql,填写用户,密码,数据库,然后点击测试连接,如果提示安装组件安装即可,注意驱动程序要和Mysql的版本号对应,测试连接成功后点击应用、确定。

(4)数据迁移引入本地,

在终端python manage.py migrate,顺利后能在数据库表列表中看到以auth和django为前缀的10个表。

4.创建网站管理员

终端输入:python manage.py createsuperuser,输入用户名,密码,邮箱。

进入管理员系统,项目启动的情况下在浏览器输入:http://127.0.0.1:8000/admin/

5.创建组件

终端输入:python manage.py startapp Todaweb,Todaweb就是后端组件,输入命令后项目里会多出Todaweb的文件夹

6.功能配置

这里就需要在Todaweb/model.py下面进行操作,通过ORM的方式创建数据结构,所谓ORM就是用类去对应数据表,用对象去映射数据行,用属性去匹配字段,具体代码如下:

from django.db import models# Create your models here.
class operationdata(models.Model):id = models.IntegerField(default=0, primary_key=True)  # 序号date = models.DateField(null=True)  # 日期trainid = models.CharField(max_length=255, blank=True, null=True)  # 列车车次ostation = models.CharField(max_length=255, blank=True, null=True)  # 始发站dstation = models.CharField(max_length=255, blank=True, null=True)  # 终点站nstation = models.CharField(max_length=255, blank=True, null=True)  # 现在站arr0 = models.CharField(max_length=255, blank=True, null=True)   # 图定到达dep0 = models.CharField(max_length=255, blank=True, null=True)   # 图定出发arr1 = models.CharField(max_length=255, blank=True, null=True)  # 实际到达dep1 = models.CharField(max_length=255, blank=True, null=True)   # 实际出发seq = models.IntegerField(default=0)  # 站序track = models.IntegerField(default=0)  # 股道号arrdelay = models.IntegerField(default=0)  # 到达晚点depdelay = models.IntegerField(default=0)  # 图定晚点
# 这里时间还是字符串格式,需要处理class Meta:managed = Falsedb_table = 'operation_data'

7.功能注册

在写完model.py后,我们还需要在根目录Toda的settings.py进行对功能配置进行注册,具体操作是在Installed_app中修改添加代码:Todaweb.apps.TodawebConfig,这里Todaweb对应的是我们在step 5中创立的组件名称。

8.功能引入

终端输入python manage.py makemigrations,成功后Todaweb文件下的migrations文件下会有一个0001_initial.py文件

再在终端输入python manage.py migrate,成功后终端提示applying 0001_initial…… OK,并且在数据库结构中可以看到。

9. 后端设置

在Todaweb目录下的admin.py中输入代码,整体结构如下:

from django.contrib import admin
from .models import operationdata
# Register your models here.class TodawebAdmin(admin. ModelAdmin):list_display = ["id", "date", "trainid", "ostation", "dstation","nstation", "arr0", "dep0", "arr1", "dep1", "seq", "track", "arrdelay", "depdelay"]admin.site.register(operationdata, TodawebAdmin)

然后再次从终端启动项目python manage.py runserver,进入http://127.0.0.1:8000/admin/后可以看到如下界面。

总结

至此,关于项目结构建立已经完成,下一阶段是对前端项目的基础设置。

TODA项目Part1—后端项目设置与连接数据库相关推荐

  1. Springboot+vue前后端项目的部署和搭建

    项目导入 为了方便,我直接在桌面上通过git bash克隆项目: git clone https://github.com/wuyouzhuguli/FEBS-Vue.git 克隆后,桌面上多出一个F ...

  2. Vue3 企业级项目实战:项目须知与课程约定

    本节内容很重要,希望大家能够耐心看完. Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 + Element Plus + Spring Boot 企业级项目开发,升职加薪,快人一步.. ...

  3. vue项目设置服务器地址,vue项目配置后端服务器地址

    vue项目配置后端服务器地址 内容精选 换一换 查询负载均衡器状态树.可通过该接口查询负载均衡器关联的监听器.后端云服务器组.后端云服务器.健康检查.转发策略.转发规则的主要信息,了解负载均衡器下资源 ...

  4. docker 一键部署前后端项目 ruoyi

    使用 docker 一键部署前后端项目 这里我以开源项目ruoyi 的 vue 前后端为例,想要通过 docker 一键跑起来,需要对项目做部分调整. 修改 springboot yml 的配置 ap ...

  5. 若依微服务版手把手教你本地搭建环境并运行前后端项目

    场景 若依微服务版RuoYi-Cloud,基于Spring Boot.Spring Cloud & Alibaba.OAuth2的前后端分离的后台管理系统. RuoYi-Cloud 是一个 J ...

  6. typeorm mysql_从零搭建项目 (10) --- 后端: 使用 TypeORM 和 MySQL

    从零搭建项目 (10) --- 后端: 使用 TypeORM 和 MySQL 我的博客地址 正式地址 测试地址 前端源码 后端源码 文章目录 项目及其技术栈介绍 前端: 项目初始化 前端: 使用 Sa ...

  7. Java Spring 后端项目搭建

    参考了几位同行的Blogs和StackOverflow上的许多问答,搭建了此后端项目,替换原来的node.js后端,和前一篇中搭建的Vue Web App项目配合使用,后端准备只提供服务,不包含后端装 ...

  8. Nginx实现通过不同的url前缀访问不同的前后端项目

    ,所以目前就可以通过给网页访问链接增加不同的url前缀,来让Nginx去实现同一端口下访问不同的前后端项目.具体配置如下: (我这里是前端两个项目各自对应后端的两个服务) server {#这里默认监 ...

  9. vue+django前后端项目部署

    一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...

  10. springboot+vue全栈开发_springboot+vue(一)___开发环境以及前后端项目搭建

    nodejs安装 安装: nodejs官网地址:https://nodejs.org/en/ 安装node.js,安装路径我默认安装在C盘  ,可以改变路径 安装配置全局安装路径和缓存 现在配置全局模 ...

最新文章

  1. R语言使用cowplot包的plot_grid函数将两个ggplot2可视化结果并排组合起来并添加图像标签A、B、设置组合图像使用共享的图例(shared legend in cowplot)
  2. inputAccessoryView,inputView
  3. JavaScript系列文章:谈谈let和const
  4. DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题
  5. 前端:JSON.stringify() 的 5 个秘密特性
  6. 【代码笔记】iOS-实现网络图片的异步加载和缓存
  7. Python 给字符串进行加密,生成唯一固定长度字符串
  8. oracle数据库连接违反,Oracle 数据库连接的一些坑
  9. Windows 2008 R2 远程桌面服务(四)运行RemoteApp程序
  10. 详解 Java 创建线程的三种方式
  11. UTONMOS:中国区块链专利申请数量占全球总量的84%
  12. 数字信号处理(自学篇)
  13. python写入文件没反应_Python write 函数写文件失败
  14. 那些3年前转行做自媒体的站长,现在都怎样了?
  15. WEB端支付宝接入----统一收单下单并支付页面接口
  16. 4、OOA 面向对象分析
  17. 从零开始的Android:Android应用程序开发概述
  18. apk 路由器劫持_一种在路由器上防止网页劫持的方法与流程
  19. Linux系统及应用复习题
  20. 前端H5使用canvas画爱心以及笑脸

热门文章

  1. 第11章 枚举与泛型总结
  2. python模拟鼠标和键盘
  3. oa系统客户端服务器ip端口,致远oa客户端服务器ip
  4. java用socket解析16进制数据_浅析Java基于Socket的文件传输案例
  5. 10分钟教会你,如何用模拟量调试电机
  6. source deactivate失败,无法退出虚拟环境
  7. 商汤科技——机器视觉面试
  8. 在word中同时输入上下标设置
  9. pc station v15 博图_博图的pcstation是做什么的?和wincc有什么区别?怎么使用?-工业支持中心-西门子中国...
  10. PHP剧影评系统的设计与实现毕业设计源码140859