Bạn có đang phân tích cú pháp biến môi trường DATABASE_URL không? Nó sẽ trông giống như thế này:
postgres://username:[email protected]:port/database_name
Vì vậy, bạn sẽ muốn kéo nó vào và phân tích cú pháp nó trước khi bạn mở kết nối với cơ sở dữ liệu của mình. Tùy thuộc vào cách bạn đã khai báo cơ sở dữ liệu của mình (trong cấu hình của bạn hoặc bên cạnh ứng dụng wsgi của bạn), nó có thể trông giống như sau:
import os
import urlparse
urlparse.uses_netloc.append('postgres')
url = urlparse.urlparse(os.environ['DATABASE_URL'])
# for your config
DATABASE = {
'engine': 'peewee.PostgresqlDatabase',
'name': url.path[1:],
'password': url.password,
'host': url.hostname,
'port': url.port,
}
Xem ghi chú tại đây: https://devcenter.heroku.com/articles/django