5

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を実行する

4

2 に答える 2

22

最初のステップは、Flask + Postgresql をローカルで実行することです。そのための最初のステップは、マシンに postgresqlをインストールすることです。次に、postgresql 用の python ドライバーをインストールする必要があります。

Windows の場合、postgresqlにはWindows インストーラーを、python drivers には Windows インストーラーを使用できます。

上記の 2 つの手順が完了したら、データベースを作成する必要があります。

Windows の場合、バンドルされている pgadminIII ツールを使用できます。これを行う方法を示すビデオを次に示します。

たとえば、次のようにして というデータベースを作成し、組み込みツール を使用して というパスワードでthe_databaseというユーザーを作成します。databaseuserP@ssw0rdpsql

$ 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)
于 2012-12-09T11:01:05.337 に答える
1

私は Heroku の経験はありませんが、あなたのメッセージから、あなたは PostgreSQL を実行しておらず、データベースもまったく持っていないと思います。ここにいくつかの情報があるようですhttps://postgres.heroku.com/ :)

しかし、あなたのトピックでは、localhost PostgreSQL について尋ねています... したがって、セットアップをローカルで実行したい場合は、最初に PostgreSQL がインストールされて実行されているかどうかを確認してください。その場合は、pgAdmin またはコンソールから接続してデータベースを作成してみてください。接続できない場合 - ポートの構成を確認し、PostgreSQL がリッスンしているホストを確認します。

とにかく、コメントで質問に投稿されたメッセージを見ると、DBが作成されていない、または実行されていない(または構成が間違っている)という考えしかありません。

于 2012-12-09T07:17:28.640 に答える