Svou databázi inicializujete dvakrát.
Doporučil bych se podívat na toto:http://flask.pocoo .org/docs/0.10/patterns/sqlalchemy/
V podstatě budete chtít věci rozdělit do několika dalších souborů, abyste předešli problémům s importem a udělali věci trochu čistější. Udělal jsem níže uvedené, zdá se, že to funguje. Všimněte si, že jsem použil SQLite, protože v tomto boxu nemám nainstalovaný Postgres.
app.py
from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////test11.db'
models.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()
Rozhodně doporučuji podívat se na nějaké tutoriály! Budete to potřebovat:měli byste se dozvědět o zranitelnostech webu, osvědčených postupech a tak dále.