PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Flask:sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError) usuários de relação não existe


Você está inicializando seu banco de dados duas vezes.

Sugiro dar uma boa olhada nisso:https://flask.pocoo .org/docs/0.10/patterns/sqlalchemy/

Essencialmente, você desejará dividir as coisas em mais alguns arquivos para evitar problemas de importação e tornar as coisas um pouco mais limpas. Eu fiz o abaixo que parece funcionar. Note, eu usei o SQLite, pois não tenho o Postgres instalado nesta caixa.

app.py
from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////test11.db'

modelos.py
from flask.ext.sqlalchemy import SQLAlchemy
from app import app
db = SQLAlchemy(app)

class User(db.Model):
    __tablename__ = 'users'
    uid = db.Column(db.Integer, primary_key = True)
    firstname = db.Column(db.String(100))
    lastname = db.Column(db.String(100))
    email = db.Column(db.String(120), unique=True)
    pwdhash = db.Column(db.String(54))

def __init__(self, firstname, lastname, email, password):
    self.firstname = firstname.title()
    self.lastname = lastname.title()
    self.email = email.lower()
    self.set_password(password)

def set_password(self, password):
    self.pwdhash = (password)

def check_password(self, password):
    return password

route.py
from models import User, db

db.create_all()
db.session.commit()

admin = User('admin', 'example@sqldat.com', 'admin1', 'example@sqldat.com')
guest = User('admi2', 'example@sqldat.com', 'admin', 'example@sqldat.com')
db.session.add(admin)
db.session.add(guest)
db.session.commit()

Eu definitivamente sugiro olhar alguns tutoriais! Você vai precisar dele:você deve aprender sobre vulnerabilidades da web, práticas recomendadas e assim por diante.