TODA项目Part1—后端项目设置与连接数据库
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—后端项目设置与连接数据库相关推荐
- Springboot+vue前后端项目的部署和搭建
项目导入 为了方便,我直接在桌面上通过git bash克隆项目: git clone https://github.com/wuyouzhuguli/FEBS-Vue.git 克隆后,桌面上多出一个F ...
- Vue3 企业级项目实战:项目须知与课程约定
本节内容很重要,希望大家能够耐心看完. Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 + Element Plus + Spring Boot 企业级项目开发,升职加薪,快人一步.. ...
- vue项目设置服务器地址,vue项目配置后端服务器地址
vue项目配置后端服务器地址 内容精选 换一换 查询负载均衡器状态树.可通过该接口查询负载均衡器关联的监听器.后端云服务器组.后端云服务器.健康检查.转发策略.转发规则的主要信息,了解负载均衡器下资源 ...
- docker 一键部署前后端项目 ruoyi
使用 docker 一键部署前后端项目 这里我以开源项目ruoyi 的 vue 前后端为例,想要通过 docker 一键跑起来,需要对项目做部分调整. 修改 springboot yml 的配置 ap ...
- 若依微服务版手把手教你本地搭建环境并运行前后端项目
场景 若依微服务版RuoYi-Cloud,基于Spring Boot.Spring Cloud & Alibaba.OAuth2的前后端分离的后台管理系统. RuoYi-Cloud 是一个 J ...
- typeorm mysql_从零搭建项目 (10) --- 后端: 使用 TypeORM 和 MySQL
从零搭建项目 (10) --- 后端: 使用 TypeORM 和 MySQL 我的博客地址 正式地址 测试地址 前端源码 后端源码 文章目录 项目及其技术栈介绍 前端: 项目初始化 前端: 使用 Sa ...
- Java Spring 后端项目搭建
参考了几位同行的Blogs和StackOverflow上的许多问答,搭建了此后端项目,替换原来的node.js后端,和前一篇中搭建的Vue Web App项目配合使用,后端准备只提供服务,不包含后端装 ...
- Nginx实现通过不同的url前缀访问不同的前后端项目
,所以目前就可以通过给网页访问链接增加不同的url前缀,来让Nginx去实现同一端口下访问不同的前后端项目.具体配置如下: (我这里是前端两个项目各自对应后端的两个服务) server {#这里默认监 ...
- vue+django前后端项目部署
一.python3的安装 1.安装python前的库环境: yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel ...
- springboot+vue全栈开发_springboot+vue(一)___开发环境以及前后端项目搭建
nodejs安装 安装: nodejs官网地址:https://nodejs.org/en/ 安装node.js,安装路径我默认安装在C盘 ,可以改变路径 安装配置全局安装路径和缓存 现在配置全局模 ...
最新文章
- R语言使用cowplot包的plot_grid函数将两个ggplot2可视化结果并排组合起来并添加图像标签A、B、设置组合图像使用共享的图例(shared legend in cowplot)
- inputAccessoryView,inputView
- JavaScript系列文章:谈谈let和const
- DJANGO MODELS通过DATETIMEFIELD保存到MYSQL的时间的时区问题
- 前端:JSON.stringify() 的 5 个秘密特性
- 【代码笔记】iOS-实现网络图片的异步加载和缓存
- Python 给字符串进行加密,生成唯一固定长度字符串
- oracle数据库连接违反,Oracle 数据库连接的一些坑
- Windows 2008 R2 远程桌面服务(四)运行RemoteApp程序
- 详解 Java 创建线程的三种方式
- UTONMOS:中国区块链专利申请数量占全球总量的84%
- 数字信号处理(自学篇)
- python写入文件没反应_Python write 函数写文件失败
- 那些3年前转行做自媒体的站长,现在都怎样了?
- WEB端支付宝接入----统一收单下单并支付页面接口
- 4、OOA 面向对象分析
- 从零开始的Android:Android应用程序开发概述
- apk 路由器劫持_一种在路由器上防止网页劫持的方法与流程
- Linux系统及应用复习题
- 前端H5使用canvas画爱心以及笑脸
热门文章
- 第11章 枚举与泛型总结
- python模拟鼠标和键盘
- oa系统客户端服务器ip端口,致远oa客户端服务器ip
- java用socket解析16进制数据_浅析Java基于Socket的文件传输案例
- 10分钟教会你,如何用模拟量调试电机
- source deactivate失败,无法退出虚拟环境
- 商汤科技——机器视觉面试
- 在word中同时输入上下标设置
- pc station v15 博图_博图的pcstation是做什么的?和wincc有什么区别?怎么使用?-工业支持中心-西门子中国...
- PHP剧影评系统的设计与实现毕业设计源码140859