0
我想部署一個測試應用程序,我用Flask製作到Heroku。我無法弄清楚我的代碼應該看起來像將我的應用程序連接到heroku postgresql數據庫資源。這是我的代碼,在我的本地機器上運行良好。如何使用psycopg2將燒瓶應用程序連接到其heroku數據庫?
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_URL'的env var中定義的,你可能需要解析它的相關數據(hostname,user,pass,port,dbname) –
So rv = psycopg2.connect(DATABASE_URL)?我知道如何找到憑據,我只是不知道把它們放在我的代碼中,而沒有人想放棄這些信息。 – William234234