1 项目简介
1.1 产品:
穿戴式心电记录仪,心律失常分析系统
1.2 功能:
1.2.1 心电实时监测;
1.2.2 心电数据分析;
1.3 实现方案:
1.3.1 前端:穿戴式心电记录仪采集数据,蓝牙数据传输
1.3.2 后台:django框架,ECG算法分析
1.4 本项目几个关键点:
1.4.1 心电数据采集
1.4.2 蓝牙数据传输
1.4.2 后台环境搭建:django
1.4.3 算法实现:python
1.4.4 MySQL数据库读写
1.5 相关技术
1.5.1 前端相关知识
1.5.2 Linux 系统基础操作
1.5.3 数据库,缓存等相关知识
1.5.4 网络相关知识(TCP/IP协议,HTTP协议)
2 django简介
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
Django是一个开放源代码的Web应用框架,由Python写成。Django采用了MVC的软件设计模式,即模型M,视图V和控制器C。
链接:官方文档
2.1 django 全貌
贴图
project文件夹:project(跟项目文件夹同名),app, manage.py
project文件夹:urls.py, settings.py
app文件夹:views.py, models.py, admin.py
urls.py
网址入口,关联到views.py中的一个函数,一个函数对应一个访问网址
settings.py
Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。
views.py
处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。
models.py
与数据库操作相关,存入或读取数据时用到这个,默认sqllite,本项目配置使用mysql。
forms.py
表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。
admin.py
后台,可以用很少量的代码就拥有一个强大的后台。
templates 文件夹
views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。
3 django 环境搭建
3.1 版本选择
Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS) 最后一个支持 Python 2.7 的版本
Django 2.0.x 支持 Python 3.4, 3.5 和 3.6 (注意,不再支持 Python 2)
tips:如果是正式启动的新项目,建议用 Django 1.11.x
3.2 安装django
3.2.1 安装python3 :centos7安装python3
3.2.3 安装django
(一)pip安装(本项目使用该方式安装)
step1: 安装python3:
step2: 安装pip(centos7系统):yum
install
python-pip
step3: 使用pip安装django: pip
install
Django==1.11.8
(二)源码安装
step1: 下载源码包:https://www.djangoproject.com/download/
step2:解压安装
tar
-xvf django-1.11.8.
tar
.gz
cd
django-1.11.8
python3 setup.py
install
3.2.3 安装验证
进入python3环境
>>>
import
django
>>> django.VERSION
(1, 11, 8,
'final'
, 0)
>>> django.get_version()
'1.11.8'
3.3 虚拟环境安装
3.3.1 安装虚拟环境
安装:pip install virtualenv
基本使用:
(1)为一个工程创建一个虚拟环境:
cd my_project_dir
virtualenv venv #venv为虚拟环境目录名,目录名自定义
可以选择使用一个Python解释器:
virtualenv -p /usr/bin/python3 venv # -p参数指定Python解释器程序路径
(2)开始使用虚拟环境,其需要被激活:
source venv/bin/activate
(3)删除一个虚拟环境,只需删除它的文件夹
rm -rf venv
3.3.2 安装virtualenvwrapper
鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。
(1)安装virtualenvwrapper(确保virtualenv已安装)
pip install virtualenvwrapper
(2)安装完成后,在~/.bashrc写入以下内容
export WORKON_HOME=~/Envs # 虚拟环境的仓库地址,存放虚拟环境目录
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc #读入配置文件,立即生效
(3)virtualenvwrapper基本使用
- 创建虚拟环境:[root@localhost ~]# mkvirtualenv venv
这样会在WORKON_HOME变量指定的目录下新建名为venv的虚拟环境。
[root@localhost ~]# mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv 指定python解释器
查看当前的虚拟环境目录
[root@localhost ~]# workon
切换到虚拟环境
[root@localhost ~]# workon py3
(py3) [root@localhost ~]#
退出虚拟环境
(py3) [root@localhost ~]# deactivate
[root@localhost ~]#
删除虚拟环境
rmvirtualenv venv
4 django基本命令
4.1 新建django project
django-admin.py startproject pyecg
4.2 新建app
先进入项目目录下,然后执行下面的命令:
cd pyecg
django-admin.py startapp ecglab
tips:一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。
4.3 创建/更改数据库表
- 创建更改的文件:python3 manage.py makemigrations
- 将生成的py文件应用到数据库:python3 manage.py migrate
- 清空数据库:python3 manage.py flush
tips: 这种方法可以在SQL等数据库中创建与models.py代码对应的表,不需要自己手动执行SQL。
4.4 启动服务器
- 默认启动:python3 manage.py runserver
指定端口启动:python3 manage.py runserver 8008
监听机器所有IP:python3 manage.py runserver 0.0.0.0:8008
tips:
如果是外网或者局域网电脑上可以用其它电脑查看开发服务器,访问对应的ip加端口,比如 http://172.16.20.2:8008
4.5 创建超级管理员
python3 manage.py createsuperuser
python3 manage.py changepassword username #修改用户密码
4.6 导出导入数据
导出数据:python3 manage.py dumpdata ecglab > ecglab.json
- 导入数据:python3 manage.py loaddata ecglab.json
4.7 django项目环境终端启动
python3 manage.py shell
tips:如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。这个命令和 直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
4.8 数据库命令行
python3 manage.py dbshell