PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Flask :sqlalchemy.exc.ProgrammingError :(psycopg2.ProgrammingError) les utilisateurs de la relation n'existent pas

Vous initialisez votre base de données deux fois.

Je suggérerais de jeter un coup d'œil à ceci :http://flask.pocoo .org/docs/0.10/patterns/sqlalchemy/

Essentiellement, vous voudrez diviser les choses en quelques fichiers supplémentaires pour éviter les problèmes d'importation et rendre les choses un peu plus propres. J'ai fait ce qui suit qui semble fonctionner. Remarque, j'ai utilisé SQLite, car je n'ai pas installé Postgres sur cette machine.

app.py

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

modèles.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

routes.py

from models import User, db

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

admin = User('admin', '[email protected]', 'admin1', '[email protected]')
guest = User('admi2', '[email protected]', 'admin', '[email protected]')
db.session.add(admin)
db.session.add(guest)
db.session.commit()

Je suggérerais certainement de regarder quelques tutoriels! Vous en aurez besoin :vous devriez vous renseigner sur les vulnérabilités Web, les meilleures pratiques, etc.