【发布时间】:2017-07-19 00:29:45
【问题描述】:
我正在尝试将使用 Flask 制作的测试应用程序部署到 Heroku。我无法弄清楚将我的应用程序连接到 heroku postgresql 数据库资源的代码应该是什么样子。这是我在本地机器上运行良好的代码。
import os, psycopg2, psycopg2.extras
from flask import Flask, request, session, g, redirect, url_for,
abort, render_template, flash
app = Flask(__name__)
app.config.from_object(__name__)
app.config.update(dict(
SECRET_KEY='development key',
USERNAME='admin',
PASSWORD='default'
))
def connect_db():
"""Connects to the specific database."""
rv = psycopg2.connect(database='database_name', user='username')
return rv
psycopg2.connect() 括号中的内容是什么?该应用程序在本地运行良好,但在已部署的应用程序上,每当我单击需要数据库查询的链接时,都会出现内部服务器错误。
【问题讨论】:
-
您是否为您的 heroku PG 实例使用了正确的凭据?提醒:您的连接字符串是在
DATABASE_URLenv var 中定义的,您可能需要解析它以获得相关数据(主机名、用户、密码、端口、数据库名) -
所以 rv = psycopg2.connect(DATABASE_URL)?我知道如何找到凭据,只是不知道将它们放在我的代码中的哪个位置,而且没有人愿意放弃这些信息。
标签: postgresql heroku flask