python配置数据库路径的方法_配置SQLite数据库的URI路径混淆

嗨,我正在用Flask和Sqlite3构建一个web应用程序。我有一段时间在连接数据库时遇到了问题,但在我写下这篇文章时,它不起作用:#version 1

app.config['SQLALCHEMY_DATABASE_URI'] =

'sqlite:C:/Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'

Python给了我操作错误:无法打开数据库,因为我在冒号后面写了4个斜杠。在阅读了sqlalchemy文档并进行了大量试验后,我发现这个方法很有效:

^{pr2}$

或者这个有4个斜杠但没有C:#version 3

app.config['SQLALCHEMY_DATABASE_URI'] =

'sqlite:Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'

我很困惑,因为根据连接字符串的文档:SQLite数据库的文件规范被视为URL的“数据库”部分。请注意,SQLAlchemy url的格式为:driver://user:pass@host/database

这意味着要使用的实际文件名以第三个斜杠右侧的字符开头。因此,连接到相对文件路径如下所示:# relative path

e = create_engine('sqlite:///path/to/database.db')

绝对路径以斜线开头表示,意味着您需要四个斜线:# absolute path

e = create_engine('sqlite:path/to/database.db')

因此,根据这一点,如果我使用绝对路径,我需要4个斜杠,但是当我在版本1中这样做时,python给了我错误。当我在版本2中使用3个斜杠作为绝对路径时,它起作用了。在

所以我真的很困惑。有人能解释一下为什么吗?我真的很感激。谢谢你

你可能感兴趣的:(python配置数据库路径的方法_配置SQLite数据库的URI路径混淆)