Flask и ошибка SQLAlchemy при подключении к PostgresSQL - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь подключить свое первое приложение Flask с SQLAlchemy и PostGreSQL, но застрял со следующей ошибкой.

UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  'Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. '

После нескольких часов отладки для чего-то, что может быть очень простым, я запустил из вариантов. Из-за ошибки похоже, что проблема связана с переменными для SQLAlCHEMY_DATABASE_URI, но не на 100%. Я пробовал localhost и localhost: 5000`, но с той же ошибкой.

Читая другие ответы в SO, я видел, что иногда люди сталкиваются с этой проблемой при определении конфигурации после db = SQLAlchemy(app), но в моем коде этого нет. Приветствуются любые потенциальные клиенты.

from flask import Flask, request, render_template
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config.update(
    SECRET_KEY='rafadbpw',
    SQLAlCHEMY_DATABASE_URI='postgresql://postgres:rafadbpw@localhost:5000/catalog_db',
    SQLALCHEMY_TRACK_MODIFICATIONS=False
)

db = SQLAlchemy(app)

@app.route('/index')
@app.route('/')
def hello_flask():
    return "Hello Flask!"

class Publication(db.Model):
    __tablename__ = 'publication'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)

    def __init__(self,id,name):
        self.id = id
        self.name = name

    def __repr__(self):
        return 'The id is {}, name is {}'.format(self.id, self.name)

if __name__ == '__main__':
    db.create_all()
    app.run(debug=True)
...