如何定义一个连接Flask python文件的数据库然后导入它?

Posted

技术标签:

【中文标题】如何定义一个连接Flask python文件的数据库然后导入它?【英文标题】:How to defined a database connecting Flask python file and then import it? 【发布时间】:2021-07-19 09:39:53 【问题描述】:

1.我试图使用 Pymongo 连接到我的 MongoDB atlas 数据库。我将此文件写入 connect.py 文件。这是树文件夹结构。 connect.py 包含连接数据库的 URL 信息。

└── uploading
    ├── __pycache__
    │   └── upload.cpython-38.pyc
    └── upload.py
    ├── Database
│   ├── __pycache__
│   │   └── connect.cpython-38.pyc
│   └── connect.py
    ├── app.py

2.这里是connect.py的代码

 import pymongo
    client = pymongo.MongoClient("URL",ssl=True, ssl_cert_reqs='CERT_NONE')
    db = client.datasets

这是 uplod.py 的代码

from flask import Blueprint, current_app
from Database.connect import db
sample = Blueprint('sample', __name__)

@sample.route('/')
def index():
    x = current_app.config['UPLOAD_PATH']
    return str(db)

这里是 app.py 的代码:

app = Flask(__name__)
app.secret_key = b'pj&\xe9\xd7\xd7\xabc\xe6KX\xbe\x9f<\x9f\x87'
app.config['UPLOAD_PATH'] = 'public'  # to create a folder which is used to save the uploaded file
CORS(app)
app.register_blueprint(sample)
'''
Datasets and model upload
'''
@app.route('/connect-upload', methods=["POST"])
@cross_origin()
def connect_upload():
    index=0
    # get username
    return "result"

当我尝试使用:from Database.connect import db 在upload.py 中导入数据库时​​,它显示错误消息:ImportError: cannot import name 'db' from 'Database.connect'。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您没有正确引用您的模块。您的模块应该是文件名。你应该使用from connect import db

【讨论】:

以上是关于如何定义一个连接Flask python文件的数据库然后导入它?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Python框架Flask中将图像文件从表单上传到数据库

Python Flask数据库连接池

在使用 Flask 的 python 中,如何写出一个对象以供下载?

flask 数据库连接池

Python+Flask+MySQL 连接数据库

怎么用flask+mysql来实现一个简单的用户注册和登陆效果的页面