Browse Source

Chapter 5: Database models with Flask-SQLAlchemy (5a)

master
T. Meissner 6 years ago
parent
commit
be07b02c41
1 changed files with 28 additions and 0 deletions
  1. +28
    -0
      hello.py

+ 28
- 0
hello.py View File

@ -1,16 +1,44 @@
import os
from flask import Flask, render_template, session, redirect, url_for, flash from flask import Flask, render_template, session, redirect, url_for, flash
from flask_bootstrap import Bootstrap from flask_bootstrap import Bootstrap
from flask_moment import Moment from flask_moment import Moment
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField from wtforms import StringField, SubmitField
from wtforms.validators import DataRequired from wtforms.validators import DataRequired
from flask_sqlalchemy import SQLAlchemy
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__) app = Flask(__name__)
app.config['SECRET_KEY'] = 'hard to guess string' 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) bootstrap = Bootstrap(app)
moment = Moment(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 '<Role %r>' % 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 '<User %r>' % self.username
class NameForm(FlaskForm): class NameForm(FlaskForm):


Loading…
Cancel
Save