0. 项目目录1. 数据库1.1 创建项目对应的库和表1.2 创建对应的数据库和集合2. 前端项目2.1 安装依赖2.2 启动3. 后端项目3.1 虚拟环境下载3.2 进入虚拟环境文件夹3.3 运行虚拟环境3.2 第三方库后续3.3 运行local_settings.py合并表启动后端启动前端启动
0. 项目目录
- 将项目下载下来,解压
说明📢📢📢:我将前端文件放在了后端文件里,下载下来的直接是Django项目,为创建虚拟环境方便,我将整个项目放在一个新建的文件夹
mongeostore
下- 使用VSCode打开
1. 数据库
1.1 创建项目对应的库和表
地震数据管理子系统 钻孔数据管理子系统 用户数据管理子系统 地质数据管理子系统 水文数据管理子系统 测井数据管理子系统 地理数据管理子系统 遥感数据管理子系统
1.2 创建对应的数据库和集合
地理数据管理 地震勘探数据管理 水文数据管理 测井数据管理 遥感影像数据 测斜表 钻孔信息 定位表 岩性表
2. 前端项目
- 切换到
mongeostore_ui
目录下
2.1 安装依赖
- 下载node_modules
npm install
2.2 启动
npm run serve
3. 后端项目
3.1 虚拟环境下载
pip install virtualenv
3.2 进入虚拟环境文件夹
- 虚拟环境创建的Django项目
Mongeostore-master
为例
- 这里是Windows下测试的,在
\mongeostore
目录下生成虚拟环境配置,主要生成Lib
目录和Scripts
目录
# 运行,生成虚拟环境的配置文件 virtualenv Mongeostore-master
3.3 运行虚拟环境
# 切换到Mongeostore-master cd .\Mongeostore-master\ # 进入虚拟环境,Linux下是source bin/activate .\Scripts\activate
3.2 第三方库
在虚拟环境下安装对应的第三方库
- 在Windows下后端Django的项目虚拟环境中使用如下命令没有成功安装🤔🤔🤔
pip install -r .\requirements.txt
报了一个错误,这个可以先不用管,目前不影响
- 修改pyzmq版本再安装
- 后续:📢📢📢📢为了更方便部署,我这里将lib文件夹上传到GitHub上了
- 后来我发现原来是我导出的
requirements.txt
文件不对
后续
requirements.txt
这是最新的,这样安装可以跑起来
appdirs==1.4.4 asgiref==3.2.10 autopep8==1.5.4 Django==3.0.5 django-cors-headers==3.5.0 django-ranged-response==0.2.0 django-rest-framework-mongoengine==3.4.1 django-simple-captcha==0.5.17 djangorestframework==3.11.1 djangorestframework-jwt==1.11.0 djongo==1.3.3 dwebsocket==0.5.12 mongoengine==0.24.1 numpy==1.22.3 Pillow==9.1.0 pycodestyle==2.6.0 PyJWT==1.7.1 pymongo==3.11.0 pytz==2020.1 qcloudsms-py==0.1.4 segyio==1.9.9 six==1.16.0 sqlparse==0.2.4 toml==0.10.1 xlrd==2.0.1
- 在Windows下虚拟环境中使用如下命令成功安装
pip install -r .\requirements.txt
3.3 运行
python .\manage.py runserver
这部分已经解决
报错,原因是第三方库没有安装好,就是 上面的
pip install -r .\requirements.txt
没有成功执行,在Linux下可以成功执行安装
pip install django-rest-framework-mongoengine
本项目还有其他的库,随便一起安装了
pip install Django==3.0.5 pip install djangorestframework pip install django-rest-framework-mongoengine pip install djangorestframework-jwt pip install django-simple-captcha pip install djongo pip install mongoengine pip install xlrd pip install numpy pip install dwebsocket pip install segyio pip install qcloudsms_py
安装好就可以成功运行了。
pip list
local_settings.py
- 在
settings.py
同级目录下创建local_settings.py
from pymongo import MongoClient # mongo shard port mongos_host = "192.168.92.145" mongos_port = 20000 local_port = '192.168.92.145:27017' mongos = '192.168.92.145:20000' MongoDB_client = MongoClient("192.168.92.145", 20000) MongoDB_cluster_client = MongoClient("192.168.92.145", 20000) DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': BASE_DIR / 'db.sqlite3', # 使用djongo设置mongodb 'ENGINE': 'djongo', 'NAME': 'django_example', 'CLIENT': { 'host': local_port, } }, 'others': { 'ENGINE': 'djongo', 'NAME': 'Django的一些参数', 'CLIENT': { 'host': mongos, } }, 'drill': { 'ENGINE': 'djongo', 'NAME': '钻孔数据管理子系统', 'CLIENT': { 'host': mongos, } }, 'geological': { 'ENGINE': 'djongo', 'NAME': '地质数据管理子系统', 'CLIENT': { 'host': mongos, } }, 'seismic': { 'ENGINE': 'djongo', 'NAME': '地震数据管理子系统', 'CLIENT': { 'host': mongos, } }, } LANGUAGE_CODE = 'zh-hans' ####### sms ###### # 腾讯云短信应用的app_id TENCENT_SMS_APP_ID = 1400370984 # 腾讯云短信应用的app_key TENCENT_SMS_APP_KEY = '65b6ec10baae1fd3b142345c59a18209' # 腾讯云短信签名内容 TENCENT_SMS_SIGN = 'iDataSharing'
合并表
python manage.py migrate
启动
后端启动
PS D:\桌面\mongeostore> cd .\Mongeostore-master\ PS D:\桌面\mongeostore\Mongeostore-master> .\Scripts\activate (Mongeostore-master) PS D:\桌面\mongeostore\Mongeostore-master> python .\manage.py runserver
前端启动
PS D:\桌面\mongeostore> cd .\Mongeostore-master\mongeostore_ui\ PS D:\桌面\mongeostore\Mongeostore-master\mongeostore_ui> npm run serve