说明:博主从GitHub上拉去了一个开源项目,这个项目还存在很多问题,比如大数据加载卡顿,celery
任务为定时爬虫获取最新数据,而前端页面没有检测数据有更新或者同步celery
定时刷新服务,部分疫情数据获取地址来源数据并不是最新数据,需要更改新地址后,重写爬虫代码,但总体来说pull
下来玩玩也是不错的,你可以在这个开源项目上进行二次开发和优化。
项目运行效果展示
环境搭建
项目依赖环境
python:3.6.5
django:2.2.6
pymysql:1.0.2
celery:3.1.25
django-celery:3.2.1
redis:2.10.6
创建虚拟环境
# 创建名为python36的虚拟环境指定python版本为3.6.5
conda create --name python36 python=3.6.5
# 激活python36虚拟环境
conda activate python36
# 退出当前环境
conda deactivate
安装项目依赖
# 在python36环境下安装requirements.txt依赖:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
配置settings
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'ctg',
'USER': 'root', # 你的MYSQL数据库用户名
'PASSWORD': '123456', # 你的MYSQL数据库密码
'PORT': '3306', # 你的MYSQL数据库端口
'POST': '127.0.0.1', # 你的数据库地址
}
}
# celery任务存放的容器
BROKER_URL = "redis://127.0.0.1:6379/1"
# celery任务结果存储 results backend
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/2'
创建数据库
# 创建数据库
create database ctg charset=utf8;
生成迁移文件
# 生成迁移文件
python manage.py makemigrations
执行迁移
# 执行迁移
python manage.py migrate
启动项目
python manage.py runserver 0.0.0.0:8000
启动定时任务
# 启动worker
python manage.py celery worker --loglevel=info
# 启动定时任务
python manage.py celery beat --loglevel=info