Ejemplo n.º 1
0
# Created by Dmitriy Shin on June 23, 2020
from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy as sa
from datetime import datetime

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'
db = sa(app)


# Model(s)
class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    task = db.Column(db.String(200), nullable=False)
    done = db.Column(db.Boolean, default=False)

    def __repr__(self):
        return f"TODO {self.id}: {self.task}; done: {self.done}"


@app.route('/')
def home():
    return render_template('home.html')


@app.route('/todos')
def todos():
    todos = Todo.query.all()
    return render_template('todos.html', todos=todos)

Ejemplo n.º 2
0
metadata.reflect(engine, only=['user', 'post'])
Base = automap_base(metadata=metadata)
Base.prepare()
User, Post = Base.classes.user, Base.classes.post
User.posts = relationship("post", back_populates="user")
Post.author = relationship("user", back_populates="posts")
    
def GetSession():
    if 'session' not in g:
        g.session = Session()
        
    return g.session

def CloseSession(e=None):
    session = g.pop('session', None)

    if session is not None:
        session.close()
        
database = sa()

@click.command('init-db')
@with_appcontext
def InitDatabaseCommand():
    metadata.create_all(engine.connect())
    click.echo('Initialized the database.')

def InitApp(app):
    app.teardown_appcontext(CloseSession)
    app.cli.add_command(InitDatabaseCommand)