You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQLAlchemy连接SQLite Studio?Flask登录数据库配置疑问

解决Flask-SQLAlchemy连接SQLite Studio的URI配置问题

嘿,我来帮你搞定这个SQLite连接的事儿!SQLite是文件型数据库,不像MySQL需要单独的服务器,所以配置起来其实很简单,跟着下面的步骤来就行:

1. 正确配置SQLALCHEMY_DATABASE_URI

SQLite的URI格式分两种场景:

  • 相对路径(推荐,数据库文件放在项目根目录):用三个斜杠,格式为 sqlite:///数据库文件名.db
    比如你想创建一个叫login.db的登录数据库,配置就是:
    app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///login.db"
    
  • 绝对路径:用四个斜杠,适合数据库文件不在项目目录的情况
    • Windows系统示例:sqlite:////C:/my_flask_project/login.db(或者用原始字符串避免转义:r'sqlite:///C:\my_flask_project\login.db')
    • Linux/macOS系统示例:sqlite:////home/user/my_flask_project/login.db

另外,建议加上这个配置关闭修改跟踪,避免不必要的警告:

app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

2. 完整代码示例

给你一个包含用户模型的完整小例子,运行后会自动生成数据库文件:

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

app = Flask(__name__)
# 配置SQLite数据库
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///login.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)

# 定义登录用的用户表模型
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    password = db.Column(db.String(120), nullable=False)

# 在应用上下文里创建所有表
with app.app_context():
    db.create_all()

if __name__ == "__main__":
    app.run(debug=True)

3. 用SQLite Studio连接数据库

当你运行上面的代码后,login.db文件会自动出现在你的项目根目录里。接下来用SQLite Studio打开它:

  • 打开SQLite Studio,点击左上角的Add a Database按钮
  • 在弹出的窗口里,选择File选项卡
  • 点击Browse找到你的login.db文件,给数据库起个易识别的名字(比如Flask_Login_DB)
  • 点击OK,就能在左侧面板看到这个数据库,展开后就能查看和操作user表了

小提示

如果想把数据库文件放在Flask推荐的instance子目录(专门存放用户数据的目录),只需要修改URI为:

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///instance/login.db"

运行代码前记得先手动创建instance文件夹哦!

内容的提问来源于stack exchange,提问作者Sutsuj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:32:36