2012-12-09 26 views
5

Tôi đọc các tài liệu Postgres cho Flaskthế nào để chạy Postgres địa phương

và họ cho rằng, để chạy Postgres bạn nên có đoạn mã sau

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = postgresql://localhost/[YOUR_DB_NAME]' 
db = SQLAlchemy(app) 

Làm sao tôi biết tên cơ sở dữ liệu của tôi?

tôi đã viết db như tên gọi - nhưng tôi đã nhận ra lỗi

sqlalchemy.exc.OperationalError: (OperationalError) FATAL: database "[db]" 
does not exist 

Chạy Heroku với Flask nếu điều đó giúp

+0

Tôi thực sự không biết mình đang làm gì - đây là lần đầu tiên của tôi. Tôi đã thử tạo một cơ sở dữ liệu, với db createdb nhưng tôi nhận được lỗi sau - không thể kết nối với cơ sở dữ liệu postgres: không thể kết nối với máy chủ: Không có tệp hoặc thư mục như vậy –

+0

Vì vậy, tôi không nghĩ rằng mình đã tạo ra một lỗi vì tôi gặp lỗi . Tôi nên làm gì/làm thế nào tôi nên tạo một từ - db createdb - không làm việc cho tôi? –

+0

@camus: [Không có những điều như "postgre".] (Http://wiki.postgresql.org/wiki/Identity_Guidelines) –

Trả lời

17

Bước đầu tiên, là chạy Flask + Postgresql chạy cục bộ và bước đầu tiên để thực hiện install postgresql on your machine. Tiếp theo, bạn nên cài đặt python drivers for postgresql.

Đối với Windows, bạn có thể sử dụng windows installer for postgresqlwindows installer for the python drivers.

Khi bạn đã hoàn thành hai bước trên, bạn cần phải create a database.

Đối với Windows, bạn có thể sử dụng công cụ pgadminIII đi kèm. Đây là một số video cho biết cách thực hiện điều đó.

Ví dụ, đây là cách bạn tạo một cơ sở dữ liệu được gọi là the_database, và tạo một người dùng gọi databaseuser với một mật khẩu [email protected] sử dụng được xây dựng trong công cụ psql:

$ psql -d template1 -U postgres 
template1=# CREATE USER databaseuser WITH PASSWORD '[email protected]'; 
template1=# CREATE DATABASE the_database; 
template1=# GRANT ALL PRIVILEGES ON DATABASE the_database to databaseuser; 
template1=# \q 

Đây là cách bạn sẽ cấu hình ứng dụng của bạn với thông tin trên:

db_conn = 'postgresql+psycopg2://databaseuser:[email protected]@localhost/the_database' 
app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = db_conn 
db = SQLAlchemy(app) 
+0

Cảm ơn bạn, Monsieur Khalid - Tôi đã gặp vấn đề với Postgres - cuối cùng cũng đã làm việc - vào lần thử thứ 8 khi cài đặt nó. –

1

Tôi không có kinh nghiệm với Heroku, nhưng từ tin nhắn của bạn tôi sẽ nói bạn không có PostgreSQL chạy và bạn không có cơ sở dữ liệu nào cả. Có vẻ như ở đây họ có một số thông tin https://postgres.heroku.com/ :)

Nhưng trong chủ đề bạn hỏi về localhost PostgreSQL ... Vì vậy, nếu bạn muốn chạy thiết lập cục bộ, điều đầu tiên cần kiểm tra là bạn đã cài đặt và chạy PostgreSQL chưa. Nếu bạn làm thế, hãy thử kết nối với nó bằng pgAdmin hoặc từ bảng điều khiển và tạo cơ sở dữ liệu. Nếu bạn không thể kết nối - hãy kiểm tra cấu hình cho các cổng, máy chủ PostgreSQL đang nghe.

Dù sao những thư tôi thấy bạn đã đăng trong câu hỏi trong nhận xét, chỉ cho tôi ý tưởng mà bạn không tạo DB hoặc thậm chí chạy (hoặc bạn có cấu hình sai).

Các vấn đề liên quan