2017-02-19 21 views
0

我部署在Heroku我的应用程序,但是当我做一些数据库操作,这是我得到:的Heroku的Django无法连接到服务器上的数据库TXN

Is the server running on host "127.0.0.1" and accepting 
TCP/IP connections on port 5432? 

我使用的Postgres和定义的所有细节配置瓦尔:

DB_NAME=xx 
DB_USER=xx 
DB_PASSWORD=xx 
DB_HOST=127.0.0.1 
DB_PORT=5432 

和代码的一部分:

if request.method == 'POST': 
    form = form_signup(request.POST) 
    if form.is_valid(): 
     full_name = form.cleaned_data['full_name'] 
     username_email = form.cleaned_data['username_email'] 
     password = form.cleaned_data['password'] 
     user = User.objects.create_user(username_email,username_email,password) 
return HttpResponse("Done") 

我该怎么办?

回答

1

在heroku上,您的数据库不在本地主机上运行,​​而是在云中的某处。

Heroku在环境变量中显示postgres连接URL为DATABASE_URL(检查heroku config)。

可以使用dj_database_url包从肯尼思·瑞兹自动解析它的Django设置:

import dj_database_url 

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

https://github.com/kennethreitz/dj-database-url

相关问题