Commit 1be6321e by bricioso

atualizei o app.py

parent 07c54d6f
from flask import Flask, render_template, request, redirect, url_for from flask import Flask, render_template, request, redirect, url_for
from models import db, Animal from flask_sqlalchemy import SQLAlchemy
import os
app = Flask(__name__) app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app) # Configuração do Banco de Dados
project_dir = os.path.dirname(os.path.abspath(__file__))
database_file = "sqlite:///{}".format(os.path.join(project_dir, "fazenda.db"))
app.config["SQLALCHEMY_DATABASE_URI"] = database_file
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db = SQLAlchemy(app)
# --- MODELOS ---
class Animal(db.Model):
id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100), nullable=False)
especie = db.Column(db.String(100), nullable=False)
idade = db.Column(db.Integer, nullable=False)
peso = db.Column(db.Float, nullable=False)
class Pessoa(db.Model):
id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100), nullable=False)
idade = db.Column(db.Integer)
peso = db.Column(db.Float)
data_nascimento = db.Column(db.String(20))
sexo = db.Column(db.String(1))
with app.app_context(): with app.app_context():
db.create_all() # Isso cria o arquivo database.db pra você! db.create_all()
# --- ROTAS ---
@app.route('/') @app.route('/')
def login():
return render_template('login.html')
@app.route('/catalogo')
def index(): def index():
animais = Animal.query.all() animais = Animal.query.all()
return render_template('lista.html', animais=animais) # Verifique se seu arquivo se chama index.html ou lista.html
return render_template('index.html', animais=animais)
@app.route('/cadastro_animal', methods=['GET', 'POST'])
def cadastro_animal():
if request.method == 'POST':
novo = Animal(
nome=request.form['nome'],
especie=request.form['especie'],
idade=request.form['idade'],
peso=request.form['peso']
)
db.session.add(novo)
db.session.commit()
return redirect(url_for('index'))
return render_template('cadastro_animal.html')
@app.route('/cadastro_pessoa', methods=['GET', 'POST'])
def cadastro_pessoa():
if request.method == 'POST':
nova_pessoa = Pessoa(
nome=request.form['nome'],
idade=request.form['idade'],
peso=request.form['peso'],
data_nascimento=request.form['data_nascimento'],
sexo=request.form['sexo']
)
db.session.add(nova_pessoa)
db.session.commit()
return redirect(url_for('index'))
return render_template('cadastro_pessoa.html')
@app.route('/cadastro') @app.route('/deletar/<int:id>')
def cadastro(): def deletar(id):
return render_template('cadastro.html') animal = Animal.query.get(id)
db.session.delete(animal)
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__': if __name__ == "__main__":
app.run(debug=True) 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