Django操作mongodb之 mongoengine (占个位)
2023-09-27 14:25:19 时间
https://www.ucloud.cn/yun/42715.html
https://www.cnblogs.com/yangyangming/p/11516121.html
python操作mongo 用这个 自己写个对象 去操作。https://www.cnblogs.com/kaibindirver/p/16791641.html
注意mongo的配置要赋值到配置文件里面去,不然每次请求会多次建立连接
setting.py
from Test import aa
MMM=aa.mondb()
aa.py
import os
import base64
class dbconf():
def __init__(self):
self.key="asda"
self.selectconcent()
'''
开发环境 environ['env']="development
'''
def selectconcent(self):
if os.environ.get("env")=="production":
'''线上配置'''
connect = {'host': base64.b64decode(self.key),'port': 3717,"db":"prod_test_platform"}
print("线上配置获取")
else:
'''dev配置'''
connect = {'host': base64.b64decode(self.key),'port': 3717,"db":"dev_test_platform"}
print("dev配置获取")
dbconf.host=connect['host']
dbconf.port = connect['port']
dbconf.dbmsg= connect['db']
@property
def host(self):
return dbconf.host
@property
def port(self):
return dbconf.port
@property
def dbmsg(self):
return dbconf.dbmsg
from pymongo import MongoClient
from django.conf import settings
# 获取数据库连接
def mondb():
db=dbconf()
# 连接 MongoDB
client = MongoClient(host=db.host.decode('utf-8'), port=int(db.port))
# 选择数据库
db = client[db.dbmsg]
# 选择集合
collection = db['buglist']
# setattr(settings,'MMM',333)
# print(getattr(settings,'MMM'))
return collection
view.py
from django.conf import settings
from rest_framework.response import Response
class getmsg(APIView):
def get(self,requets):
item = getattr(settings, "MMM", "取不到就给一个默认值")
print(item.find_one()) #获取mongo连接查询数据
return Response(123)
配置文件引用文件用. 去获取当前目录下文件下的方法
相关文章
- 一些好用的django模块
- 151.基于Django框架的关系模型序列化、一对多关系的增删改查、一对多关系中的序列化
- 95.Django的生命周期
- 34.Django视图
- Nginx+uwsgi+Django 的web应用环境部署-完整记录
- Django的时区设置
- Django数据迁移失败问题记录 --managed = False不知道是不是不迁移的意思有空试试
- The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
- Django 错误之 No module named ‘MySQLdb’
- Django REST framework -- Authentication & Permissions
- Django中自定义过滤器的使用
- django orm总结