次のPythonコードがあります
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://my_user_name:@localhost:5432/my_db'
db = SQLAlchemy(app)
@app.route("/submit_signup_email", methods=["POST"])
def submit_signup_email():
email = request.form["email"]
created_timestamp = int(time.time())
signup = Signup(email, created_timestamp)
db.session.add(signup)
db.session.commit()
# not working...
test = Signup.query.filter_by(email=email).first()
これは正常に機能し、DB に行が正しく挿入されたことを確認できます。
しかし、「db.session.commit()」の後にこのコードを実行すると.....
test = Signup.query.filter_by(email=email).first()
次のエラーが表示されます。
OperationalError: (OperationalError) could not connect to server: No such file or directory サーバーはローカルで実行されており、Unix ドメイン ソケット "/var/pgsql_socket/.s.PGSQL.5432" で接続を受け入れていますか?
何が問題なのかわかりません。私のサインアップ モデルは "models.py" で次のようになっています。
from flask_sqlalchemy import SQLAlchemy
from app import app, db
class Signup(db.Model):
__tablename__ = "signups"
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String)
created_timestamp = db.Column(db.Integer)
def __init__(self, email, created_timestamp):
self.email = email
self.created_timestamp = created_timestamp
def __repr__(self):
return self.email