无法从“app”导入名称“db”,python,database,flask,visual-studio-code,sqlalchemy"/>

首页 > 解决方案 > flask_sqlalchemy 导入错误:文件“",第 1 行,在无法从“app”导入名称“db”

问题描述

大家好,我是使用 Python 和烧瓶的初学者。我正在尝试使用 SQLAlchemy 导入我的数据库。

正如您在我的 app.py 文件中看到的那样,我已经配置了位置、创建了数据库并创建了模型:

from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///anomalies.db'
db = SQLAlchemy(app)

class Anomalie (db.Model):
    id = db.Column(db.Integer, primary_key=True)
    type_anomalie = db.Column(db.String(100), nullable=False)
    date_anomalie = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    image_anomalie = db.Column(db.String(100), nullable=False)
    name_product = db.Column(db.String, nullable=False)
    id_product = db.Column(db.Integer, nullable=False)

    def __repr__ (self):
        return 'anomalies ' + str(self.id)

@app.route('/anomalies')
def anomalies():
    return render_template('anomalies.html', anomalies=all_anomalies)
  
if __name__ == '__main__':
    app.run(debug=True)  # with this we can debug

问题是当我尝试使用来自 app import db的以下命令从 app.py 导入数据库时​​:

Windows PowerShell
Copyright (C) 2015 Microsoft Corporation. Todos los derechos reservados.

PS C:\Users\USER\FlaskProjects\flaskdemo> python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from app import db

出现此消息

 Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: cannot import name 'db' from 'app' (C:\Users\USER\FlaskProjects\flaskdemo\app.py)
    >>>

我使用 Visual Studio Code 作为编辑器。我已经尝试解决这个问题好几个小时了,但我不知道我是否遗漏了什么。

谢谢你的帮助

这是我的项目的结构

项目结构

标签: pythondatabaseflaskvisual-studio-codesqlalchemy

解决方案


推荐阅读