Проблема с подключением heroku db и flask app - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь подключить мое приложение flask к базе данных Heroku. Я пробовал миллион раздумий и всегда получал одно и то же сообщение об ошибке: error mesage

С терминала я захожу в базу данных приложения и получаю следующее сообщение:

Вы подключены к базе данных "dclhb9ntogjjr" как пользователь "ikkcwdbfbqzfiw" на хосте "ec2-54-195-247-108.eu-west-1.compute.amazon aws .com" (адрес "54.195 .247.108 ") в порту" 5432 ". SSL-соединение (протокол: TLSv1.2, шифр: ECDHE-RSA-AES256-GCM-SHA384, биты: 256, сжатие: выкл.)

Я пытался установить переменную DATABASE_URL = "???? ?? ", но я не уверен, как получить URL моей БД от Heroku. Если у вас есть идеи, как это исправить, пожалуйста, дайте мне знать.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Сначала убедитесь, что база данных Heroku настроена правильно.

Далее вы НЕ ДОЛЖНЫ устанавливать значение DATABASE_URL

DATABASE_URL является переменной окружения. Для доступа вам нужен этот код

import os
database_url=os.environ.get('DATABASE_URL')
0 голосов
/ 03 мая 2020

То же самое происходит даже после того, как я его добавлю.

import os

from flask import Flask, session
from flask_session import Session
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

app = Flask(__name__)

# Check for environment variable
if not os.getenv("DATABASE_URL"):
    raise RuntimeError("DATABASE_URL is not set")

# Configure session to use filesystem
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
database_url=os.environ.get('DATABASE_URL')

# Set up database
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
database_url=os.environ.get('DATABASE_URL')

@app.route("/")
def index():
    return "Project 1: TODO"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...