diff --git a/hello.py b/hello.py index 49a7dc2..dc7db8d 100644 --- a/hello.py +++ b/hello.py @@ -1,16 +1,44 @@ +import os from flask import Flask, render_template, session, redirect, url_for, flash from flask_bootstrap import Bootstrap from flask_moment import Moment from flask_wtf import FlaskForm from wtforms import StringField, SubmitField from wtforms.validators import DataRequired +from flask_sqlalchemy import SQLAlchemy +basedir = os.path.abspath(os.path.dirname(__file__)) + app = Flask(__name__) app.config['SECRET_KEY'] = 'hard to guess string' +app.config['SQLALCHEMY_DATABASE_URI'] = \ + 'sqlite:///' + os.path.join(basedir, 'data.sqlite') +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False bootstrap = Bootstrap(app) moment = Moment(app) +db = SQLAlchemy(app) + + +class Role(db.Model): + __tablename__ = 'roles' + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(64), unique=True) + users = db.relationship('User', backref='role') + + def __repr__(self): + return '' % self.name + + +class User(db.Model): + __tablename__ = 'users' + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(64), unique=True, index=True) + role_id = db.Column(db.Integer, db.ForeignKey('roles.id')) + + def __repr__(self): + return '' % self.username class NameForm(FlaskForm):