python - Flask SQLAlchemy 无法连接到数据库
问题描述
我有一个正在尝试连接到 SQLite DB 的应用程序。我的 db 文件与应用程序位于同一目录中,但是当我向 create_all 发出命令时,出现以下错误:
sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)无法打开数据库文件(此错误的背景: https ://sqlalche.me/e/14/e3q8 )
这是我正在使用的代码片段。
app.config['SECRET_KEY'] = 'dont look at me im a secret'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////C:/Users/me/PycharmProjects/thisproject/database.db'
app.config['CSRF_ENABLED'] = True
app.config['USER_ENABLE_EMAIL'] = False
db = SQLAlchemy(app)
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), nullable=False, unique=True)
password = db.Column(db.String(255), nullable=False, server_default='')
active = db.Column(db.Boolean(), nullable=False, server_default='0')
user_manager = UserManager(app, db, User)
解决方案
我相信真理是在这里。看来您没有正确指定 sqlite 数据库的路径。
您的路径应如下所示:
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///C:\\Users\\me\\PycharmProjects\\thisproject\\database.db'
推荐阅读
- javascript - UnhandledPromiseRejectionWarning:TypeError:使用 Jest + Angular 将循环结构转换为 JSON
- c - 如何将用户输入添加到 void 函数?
- pandas - 使用 NaN 的 Python pandas DataFrame 操作
- excel - 每个循环通过工作簿中的工作表多次的单个 VBA
- c++ - 在 QT 中以编程方式执行鼠标事件
- c# - 找不到命名空间名称“Cinemachine”
- apache-spark - 如何在 spark-submit 之前触发催化剂优化器以减少执行时间?
- reactjs - 未处理的拒绝 (TypeError):this.logger 未定义 - @microsoft/mgt 中的 TeamsProvider.handleAuth()
- c# - 向量 3 的 Gane 错误,但我从未提到向量 3
- java - 我无法在 JOptionPane 上显示数组