环境参数
python:3.7
django:通过pip安装,过程省略
db:mongodb,安装过程省略
环境配置
一、pycharm创建django项目
1)打开pycharm,点击new project。
目录结构如下所示。
二、在本地mongodb创建数据库
目录结构如下所示。
三、修改django配置,创建app
1)pip install mongoengine
2)进入settings.py,修改代码如下:
DATABASES = {
'default': {
'ENGINE': None,
}
}
from mongoengine import connect
connect('mydb')
3)创建app
先创建一个apps文件夹,因为你的app有可能不止一个,所以放在一个文件夹里方便管理。
创建好apps文件夹后,还需要创建一个文件夹,此文件夹就是你的app,文件名称是你的app名称。
pycharm上点击此按钮。
输入命令,创建成功。
结果如图所示。
四、自行配置数据库处理过程
我不喜欢用 django 自带的数据库处理模块,更喜欢 java 那种:自己去写相关操作。
所以本人建了一个类专门处理数据库相关操作。
1)创建相关目录。
2)代码
from pymongo import MongoClient
from pymongo.database import Database
class MongoDB(object):
def __init__(self, host='localhost', port=27017, usr=None, pwd=None, db_name='mydb'):
self.__host = host
self.__port = port
self.__userName = usr
self.__userPwd = pwd
self.__database = db_name
self.client: MongoClient = None # 连接mongodb的客户端
self.idpiDataBase: Database = None # 连接智能业务识别的数据库连接
# 初始化客户端
self.__initClient()
def __initClient(self):
self.close()
if self.__userName == "":
self.client: MongoClient = MongoClient(host=self.__host, port=self.__port)
self.idpiDataBase: Database = self.client[self.__database] # 数据库如果不存在则会创建
else:
try:
self.client: MongoClient = MongoClient(host=self.__host, port=self.__port)
self.idpiDataBase: Database = self.client[self.__database] # 数据库如果不存在则会创建
self.idpiDataBase.authenticate(self.__userName, self.__userPwd)
except Exception as e:
self.client: MongoClient = MongoClient(host=self.__host, port=self.__port,
username=self.__userName,
password=self.__userPwd)
self.idpiDataBase: Database = self.client[self.__database]
def close(self):
if self.client is not None:
try:
self.client.close()
except Exception as e:
print(f'fail to close mongodb: {e}')
finally:
self.client = None
3)测试代码是否正确