2013-06-01 49 views
10

Tôi là một Heroo noob hoàn chỉnh và tôi đang cố gắng thiết lập ứng dụng Django trên Heroku. Tôi không thể tìm ra những gì cần nhập cho các cài đặt này trong settings.py:Làm thế nào để thiết lập cơ sở dữ liệu cho ứng dụng Django trên Heroku?

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': '',      # Or path to database file if using sqlite3. 
     # The following settings are not used with sqlite3: 
     'USER': '', 
     'PASSWORD': '', 
     'HOST': '',      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 
     'PORT': '',      # Set to empty string for default. 
    } 
} 

Ai đó có thể giúp tôi không? Cảm ơn bạn!

Trả lời

12

Bạn có thể làm nó bằng tay bằng cách nhìn vào thông tin cơ sở dữ liệu của bạn trong bảng điều khiển hoặc bằng cách chạy "Heroku cấu hình" để xem chuỗi cấu hình DB. Nhưng cách tốt nhất cho đến nay là chi tiết trong Heroku Getting Started guide for Django. Thêm dj-database-url==0.2.1 để requirements.txt tập tin của bạn và sau đó:

# Parse database configuration from $DATABASE_URL 
import dj_database_url 
DATABASES['default'] = dj_database_url.config() 

thay cho định nghĩa cơ sở dữ liệu khác.

+1

Cảm ơn! Vì vậy, bạn đang nói rằng nếu tôi chỉnh sửa requirements.txt, thì tôi có thể sao chép và dán đoạn mã trên vào settings.py và không phải lo lắng về việc điền vào các cài đặt cơ sở dữ liệu? Tôi đã làm điều đó rồi cố gắng chạy 'manage.py syncdb python' và đã nhận lỗi sau: 'ImproperlyConfigured: settings.DATABASES được cấu hình không đúng. Vui lòng cung cấp giá trị ENGINE. Kiểm tra tài liệu cài đặt để biết thêm chi tiết. ' –

+0

Và sau đó tôi đã thử đặt giá trị "ENGINE" thành 'django.db.backends.postgresql_psycopg2' và nó vẫn cho tôi lỗi tương tự ... hmm. –

+1

Có thể vấn đề là mã này là để chạy trên Heroku, nơi DATABASE_ENV của bạn hoặc một số biến hệ thống khác đã được thiết lập. Tôi giả sử bạn đang cố gắng để chạy này đầu tiên trên địa phương của bạn xây dựng. Để giải quyết vấn đề đó, bạn có thể vượt qua một chuỗi URL mặc định để dj_database_url.config() (xem https://github.com/kennethreitz/dj-database-url) hoặc duy trì nộp đơn thiết lập riêng cho xây dựng tại địa phương. –

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