我阅读了Flask的Postgres文档
他们说要运行Postgres你应该有以下代码
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = postgresql://localhost/[YOUR_DB_NAME]'
db = SQLAlchemy(app)
我如何知道我的数据库名称?
我写了db作为名字 - 但我收到了错误
sqlalchemy.exc.OperationalError: (OperationalError) FATAL: database "[db]"
does not exist
如果有帮助的话,用Flask运行Heroku
答案 0 :(得分:21)
第一步是让Flask + Postgresql在本地运行,第一步是 到install postgresql on your machine。接下来,您应该安装python drivers for postgresql。
对于Windows,您可以使用windows installer for postgresql和windows installer for the python drivers。
完成上述两个步骤后,您需要create a database。
对于Windows,您可以使用捆绑的pgadminIII工具。这是一个video,展示了如何做到这一点。
例如,以下是创建名为the_database
的数据库的方法,并使用内置工具databaseuser
创建一个名为P@ssw0rd
且密码为psql
的用户:
$ psql -d template1 -U postgres
template1=# CREATE USER databaseuser WITH PASSWORD 'P@ssw0rd';
template1=# CREATE DATABASE the_database;
template1=# GRANT ALL PRIVILEGES ON DATABASE the_database to databaseuser;
template1=# \q
以下是使用上述信息配置应用程序的方法:
db_conn = 'postgresql+psycopg2://databaseuser:P@ssw0rd@localhost/the_database'
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = db_conn
db = SQLAlchemy(app)
答案 1 :(得分:1)
我没有使用Heroku的经验,但是根据你的消息我会说你没有运行PostgreSQL,你根本就没有数据库。看起来在这里他们有一些信息https://postgres.heroku.com/:)
但是在您的主题中,您询问了localhost PostgreSQL ...因此,如果您想在本地运行您的设置,首先要检查的是您是否已安装并运行PostgreSQL。如果这样做,请尝试使用pgAdmin或从控制台和create database连接到它。如果你无法连接 - 检查配置端口,主机PostgreSQL正在监听。
无论如何,我看到你在评论中发布的那些消息,只能让我知道你没有创建DB甚至运行(或者你的配置错误)。