【问题标题】:Why do I have to change the uri in Flask for SQLAlchemy?为什么我必须更改 Flask for SQLAlchemy 中的 uri?
【发布时间】:2012-11-08 23:12:05
【问题描述】:

我正在尝试在Flask中开发一个Web应用程序,我注意到如果我想使用SQLite3作为我的数据库,那么我必须输入

DATABASE = 'flaskr.json'

但是,如果我想在我的数据库实现中使用 SQLAlchemy,我必须使用类似

DATABASE = 'sqlite:////Users/jake/repos/flaskralchemy/flaskr.db

这种变化有什么意义?此外,在我看到的所有示例中,没有人在他们的服务器上创建实际的数据库。怎么回事?

提前致谢。

【问题讨论】:

    标签: python sqlite sqlalchemy uri flask


    【解决方案1】:

    我有点不清楚你在问什么,你在哪里设置这个 DATABASE 值以及 flaskr.json 值来自哪里。但我会试一试,希望它会有一些用处。

    因此,显然,您需要告诉您的应用如何连接到您的数据库。您通常在应用配置中这样设置:

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
    

    对于 SQLlite,您只需要一个文件路径(如上)对于 MySQL,我的应用程序设置如下:

    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@server.site.com/database'
    

    您可以在 SQLAlchemy 文档中阅读到比您想知道的更多的信息:

    http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls

    另外,你看过 Flask-SQLAlchemy 插件吗?它为您提供了一些很好的工具来处理这个问题。

    http://flask-sqlalchemy.pocoo.org/2.3/quickstart/#a-minimal-application

    【讨论】:

      【解决方案2】:

      对于windows使用这个

      app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///E:\\account-verification-flask\\src\\example.db'
      # sqlite:///absolute path
      

      了解更多信息。 visit here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多