Está inicializando su base de datos dos veces.
Sugeriría echar un buen vistazo a esto:http://flask.pocoo .org/docs/0.10/patterns/sqlalchemy/
Esencialmente, querrá dividir las cosas en algunos archivos más para evitar problemas de importación y hacer las cosas un poco más limpias. He hecho lo siguiente que parece funcionar. Tenga en cuenta que he usado SQLite, ya que no tengo instalado Postgres en este cuadro.
aplicación.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
rutas.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()
¡Definitivamente sugeriría revisar algunos tutoriales! Lo necesitará:debe aprender acerca de las vulnerabilidades web, las mejores prácticas, etc.