使用mongoengine

时间:2017-10-05 09:46:36

标签: python python-3.x flask mongoengine

我尝试使用mongodbmongoengine数据库建立动态连接。我从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 数据库记录。

1 个答案:

答案 0 :(得分:0)

我认为你不需要使用不同的数据库。只需为每个用例使用不同的集合,并使用Flask-MongoEngine包装应用程序。

PS。更好地了解变量范围在Flask中的工作原理。