目的,仅把 当前 的Web后端当作 入口,
进入主页后, 要根据不同用户, 调用不同的数据库,数据库密码由用户自已输入,不做 保存。
构想:
第一步: 用户进入后,从当前Web数据库表中,获取到用户个人 数据库 的 ip地址 和 账户名 (入口后端 只保存这两个信息)
这是 django set.py 里的数据库设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'pro_test',
'HOST':'******',
'PORT':'3310',
'USER':'root1',
'PASSWORD':'***************'
},
'client_data': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database1',
'HOST':'11.15.216.17',
'PORT':'3310',
'USER':'root1',
'PASSWORD':''
},
}
第二步,现在怎么调用 用户的个人数据
进入主页之后,就不再调用当前数据库, 全部调用 用户的个人数据库,
set.py 这里怎么写?肯定不能写死,是在set.py里改,还是在 view 中 处理
DATABASES = {
},
}
我现在这样做 --------------------------------------------------------------------------
def get(self,request):
from pro_test.settings import DATABASES # 从setting.py 中导入数据库设置
from django.db import connection # 导入connection,进行原生 sql操作
#获取用户传过来的数据库密码
db_password = request.query_params.get(db_password)
# 把密码写入设置, (client_data 是我设置的一个数据库)
DATABASES['client_data']['PASSWORD']=db_password
sql_str = "select * from table1"
# 问题在这,默认是连接到 ‘default’ 的数据库,
**# 我现怎么指定 连接 'client_data' 数据库**
cursor = connection.cursor() # 用建立好的connection对象创建cursor游标对象
cursor.execute(sql_str) # 执行自定义SQL语句
dataInfo = cursor.fetchall() # 取出执行返回的记录,返回的tuple类型数据
return