windows下flask使用sqlalchemy时遇到了sqlite路径问题,总是自动在前面加一个c://

最近在学习flask,使用sqlalchemy的时候遇到了问题,我用的是win10系统,配置文件如下:

class DevelopmentConfig(Config):
    DEBUG = True
    DATABASE_URI = 'sqlite:////F:/code/python/fishkeeping/fishkeeping/fish.db'
    USERNAME = 'admin'
    PASSWORD = 'a00123456'
    SECRET_KEY = '11f0394a7e0c-4585-af6b-5b4efcf6fd8f'

之后发生了打不开数据库的异常,发现路径被程序修改为了

'C:\\F:\\code\\python\\fishkeeping\\fishkeeping\\fish.db'

试了好几次,发现不管sqlite:////后面接的是什么,都会在前面加一个C:\\,非常诡异,求解决。

阅读 6k
2 个回答

官方文件有交待
engine = create_engine('sqlite:///C:\path\to\foo.db') # Windows
engine = create_engine(r'sqlite:///C:pathtofoo.db') # Windows alternative using raw string

表示你sqlite后面是3个斜杠而不是4个。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题