我在heroku上部署了我的应用程序,但是当我进行数据库操作时,这就是我得到的:
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")
我该怎么办?
答案 0 :(得分:1)
在heroku上,您的数据库不会在localhost上运行,而是在云中的某个位置运行。
Heroku在环境变量中将postgres连接URL公开为DATABASE_URL
(检查heroku config
)。
您可以使用kenneth reitz的dj_database_url
软件包自动将其解析为django设置:
import dj_database_url
DATABASES = {
'default': dj_database_url.config()
}