Я пытаюсь подключить свое первое приложение 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)