我尝试使用mongodb
与mongoengine
数据库建立动态连接。我从URL请求中获取数据库名称。问题是它只连接了第一个url数据库。
这是mycode
run.py
from application import app
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8089)
routes.py
from flask import request
from application import app
from mongoengine import connect
class DBConnection():
def __init__(self):
database = request.url.split("/")[2].split(".")[0]
print(database)
connect(database,alias='default')
@app.route('/',methods=['GET'])
def index():
try:
DBConnection();
return redirect(url_for('dashboard'))
except Exception as e:
raise e
在上面的代码中,当我点击网址 mydomain.maindomain.com 时,它将连接 mydomain 并点击网址 yourdomain.maindomain.com 将与 yourdomain
连接问题是它只与一个数据库连接。例如我第一次点击 mydomain.maindomain.com 然后数据库每次都与 mydomain 连接,即使我点击 yourdomain.maindomain.com 显示 mydomain 数据库记录。
答案 0 :(得分:0)
我认为你不需要使用不同的数据库。只需为每个用例使用不同的集合,并使用Flask-MongoEngine包装应用程序。
PS。更好地了解变量范围在Flask中的工作原理。