1. Nessa aula vamos integrar banco de dados em nossa aplicação.
  2. Para isso, vamos criar o nosso arquivo de model no arquivo livro.py
from app import db

class livro(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nome = db.Column(db.String(50))
    descricao = db.Column(db.String(100))
    valor = db.Column(db.Integer)
    
    def __init__(self, nome, descricao, valor):
        self.nome = nome
        self.descricao = descricao
        self.valor = valor
No arquivo app.py vamos adicionar o seguinte código:
from flask import Flask, render_template, request
from lista_filmes import resultado_filmes
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///livros.sqlite3'

db = SQLAlchemy()
db.init_app(app)

conteudos = []
registros = []
# localhost:5000/
@app.route('/', methods=["GET", "POST"])
def principal():
    if request.method == "POST":
        if request.form.get("conteudo"):
            conteudos.append(request.form.get("conteudo"))
            
    return render_template(
        "index.html",
        conteudos=conteudos
    )

@app.route('/diario', methods=["GET", "POST"])
def diario():
    if request.method == "POST":
        if request.form.get("aluno") and request.form.get("nota"):
            aluno = request.form.get("aluno") 
            nota = request.form.get("nota")
            registros.append(
                {
                    "aluno": aluno,
                    "nota": nota
                }
            )
    return render_template(
        "sobre.html",
        registros=registros  
    )
    
@app.route('/filmes/')
def lista_filmes(propriedade):
    return render_template(
        "filmes.html", 
        filmes=resultado_filmes(propriedade)
    )
Para criar o banco de dados e adicionar dados na tabela vamos executar os comandos a seguir no interpretador do Python.
from app import db
from app import app
from livro import livro

app.app_context().push()
db.create_all()

livro1 = livro(name="Hábitos Atômicos",descricao="Livro muito bom", valor=40)

db.session.add(item1)
db.session.commit()