如何在Heroku中将Django Local与Postgress连接

时间:2018-09-07 06:31:15

标签: django heroku heroku-postgres

如何将实时Heroku postgress与我的本地服务器连接。有什么方法可以备份Heroku数据库吗?

Heroku生产中的数据库连接如何完成?

这是我的 local.py

import dj_database_url
from .base import *

ROOT_URL = 'http://localhost:8000'
ALLOWED_HOSTS = ['localhost:8000'] 
SECURE_SSL_REDIRECT = False
# SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')  
DEBUG = True

INSTALLED_APPS.extend([
    'collectfast',
])
INSTALLED_APPS.extend([
    'django.contrib.staticfiles',
    # 'djcelery',

])

DATABASES = {
    'default': dj_database_url.config()
}
print(DATABASE_URL)

# AWS and S3  settings
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
AWS_STORAGE_BUCKET_NAME = 'jagah-production'
AWS_QUERYSTRING_AUTH = False
AWS_PRELOAD_METADATA = True

# Static files settings
#STATICFILES_STORAGE = ''
#STATIC_S3_PATH = 'static'
#STATIC_ROOT = '/%s/' % STATIC_S3_PATH
#STATIC_URL = '' % AWS_STORAGE_BUCKET_NAME

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

1 个答案:

答案 0 :(得分:0)

来自Heroku's documentation

  

除了可用于Heroku运行时之外,Heroku Postgres   本地运行的客户端可以直接访问数据库   电脑或其他地方。

     
    

所有连接都需要SSL:sslmode = require。

  
     

您可以通过以下两种方式之一检索PG连接字符串。 Heroku   pg:credentials上面已经讨论过:

$ heroku pg:credentials DATABASE Connection info string:   
"dbname=dee932clc3mg8h host=ec2-123-73-145-214.compute-1.amazonaws.com
port=6212 user=user3121 password=98kd8a9 sslmode=require" Also, the
     

连接字符串作为应用程序的配置变量公开:

$ heroku config | grep HEROKU_POSTGRESQL HEROKU_POSTGRESQL_YELLOW_URL:
postgres://user3123:passkja83kd8@ec2-117-21-174-214.compute-1.amazonaws.com:6212/db982398