sqlalchemy flask应用程序中的属性错误(键),无法连接到数据库



这是我第一次在stackoverflow上提问。我在一个数据科学训练营,错过了一节课,我正在复习录音,并试图跟随老师向我们展示如何在烧瓶应用程序中引用sqlite数据库,但我无法运行这个例子。我可以运行不引用sqlite的flask应用程序。例如,当我尝试运行以以下内容开头的python代码时:

import numpy as np
import sqlalchemy
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
from sqlalchemy import create_engine, func
from flask import Flask, jsonify

#################################################
# Database Setup
#################################################
engine = create_engine("sqlite:///titanic.sqlite")
# reflect an existing database into a new model
Base = automap_base()
# reflect the tables
Base.prepare(engine, reflect=True)
# Save reference to the table
Passenger = Base.classes.passenger
#################################################
# Flask Setup
#################################################
app = Flask(__name__)

我收到一个错误,上面写着

Traceback (most recent call last):
File "C:UsersfrconAnaconda3libsite-packagessqlalchemyutil_collections.py", line 210, in __getattr__
return self._data[key]
KeyError: 'passenger'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:/Users/frcon/Desktop/pythonstuff/RU-JER-DATA-PT-01-2020/01-Lesson-Plans/10-Advanced-Data-Storage-and-Retrieval/3/Activities/10-Ins_Flask_with_ORM/Solved/app.py", line 22, in <module>
Passenger = Base.classes.passenger
File "C:UsersfrconAnaconda3libsite-packagessqlalchemyutil_collections.py", line 212, in __getattr__
raise AttributeError(key)
AttributeError: passenger

我想这意味着它找不到";乘客";表,但我确信它存在,我检查了数据库。在课堂录音中,我的教授能够在不修改任何内容的情况下运行这些代码。任何帮助都将不胜感激。谢谢

乘客表在titanic.sqlite文件中的拼写是否与您引用它的方式相同?

您可以在具有相同依赖关系的jupyter笔记本中运行以下程序。

engine = create_engine("sqlite:///titanic.sqlite")
Base = automap_base()
Base.prepare(engine, reflect=True)
# This should return the table names
Base.classes.keys()

我的问题是我需要导入os:(

engine=create_engine("sqlite:///titanic.sqlite"(

问题在上面一行:添加完整路径,如";c:/user/myname/desktop/myapp/titanic.sqlite";而不仅仅是";titanic.sqlite";

最新更新