App.py!

parent 9ac9484c
......@@ -2,11 +2,8 @@ import os
from flask import Flask, redirect, render_template, request, url_for
from flask_sqlalchemy import SQLAlchemy
# Como o app.py está na raiz, o Flask encontra as pastas 'templates' e 'static' automaticamente
app = Flask(__name__)
# Configuração do Banco de Dados na pasta 'instance'
# O 'app.instance_path' vai apontar automaticamente para 'meu_projeto/instance/'
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///" + os.path.join(
app.instance_path, "database.db"
)
......@@ -14,38 +11,64 @@ app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
# Modelo da Tabela
class Receita(db.Model):
id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100), nullable=False)
porcoes = db.Column(db.String(100), nullable=False)
tempo = db.Column(db.String(100), nullable=False)
descricao = db.Column(db.Text, nullable=False)
ingredientes = db.Column(db.Text, nullable=False)
preparo = db.Column(db.Text, nullable=False)
@app.route("/")
def index():
receitas = Receita.query.all()
return render_template("index.html", receitas=receitas)
@app.route("/cadastro", methods=["GET", "POST"])
def cadastro():
if request.method == "POST":
nova = Receita(nome=request.form["nome"])
nome = request.form.get("nome")
porcoes = request.form.get("porcoes")
tempo = request.form.get("tempo")
descricao = request.form.get("descricao")
ingredientes = request.form.get("ingredientes")
preparo = request.form.get("preparo")
print(f"DADOS RECEBIDOS: {nome}, {porcoes}, {tempo}, {descricao}, {ingredientes}, {preparo}")
nova = Receita(
nome=nome,
porcoes=porcoes,
tempo=tempo,
descricao=descricao,
ingredientes=ingredientes,
preparo=preparo,
)
db.session.add(nova)
db.session.commit()
return redirect(url_for("index"))
return render_template("cadastro.html")
return render_template("cadastro.html")
@app.route("/editar/<int:id>", methods=["GET", "POST"])
def editar(id):
receita = Receita.query.get_or_404(id)
if request.method == "POST":
receita.nome = request.form["nome"]
receita.nome = request.form.get("nome")
receita.porcoes = request.form.get("porcoes")
receita.tempo = request.form.get("tempo")
receita.descricao = request.form.get("descricao")
receita.ingredientes = request.form.get("ingredientes")
receita.preparo = request.form.get("preparo")
db.session.commit()
return redirect(url_for("index"))
return render_template("editar.html", receita=receita)
return render_template("editar.html", receita=receita)
@app.route("/excluir/<int:id>")
def excluir(id):
......@@ -54,14 +77,12 @@ def excluir(id):
db.session.commit()
return redirect(url_for("index"))
@app.route("/templates/perfil")
@app.route("/perfil")
def acessoPerfil():
return render_template("perfil.html")
if __name__ == "__main__":
# Garante que a pasta 'instance' seja criada na raiz antes de iniciar o banco
os.makedirs(app.instance_path, exist_ok=True)
with app.app_context():
db.create_all()
app.run(debug=True)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment