Commit ea3d6c8e by Ian Gustavo
parents bf7a2854 af170108
from flask import Flask, render_template, request, redirect
from models import Animal
from flask import Flask, render_template, request, redirect, url_for
from models import db, Animal
import os
app = Flask(__name__)
animais = []
# Configuração do banco de dados real
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'fazenda.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
# Cria o banco de dados e as colunas (nome, especie, idade, peso)
with app.app_context():
db.create_all()
@app.route('/')
def index():
animais = Animal.query.all()
return render_template('index.html', animais=animais)
@app.route('/cadastro')
......@@ -15,20 +26,30 @@ def cadastro():
@app.route('/adicionar', methods=['POST'])
def adicionar():
# O segredo está aqui: os nomes entre [''] devem ser IGUAIS ao 'name' do HTML
nome = request.form['nome']
tipo = request.form['tipo']
especie = request.form['especie'] # Antes estava 'tipo', por isso dava erro
idade = request.form['idade']
peso = request.form['peso'] # Agora estamos pegando o peso também
novo_animal = Animal(
nome=nome,
especie=especie,
idade=int(idade),
peso=float(peso)
)
novo_animal = Animal(nome, tipo, idade)
animais.append(novo_animal)
db.session.add(novo_animal)
db.session.commit()
return redirect('/')
return redirect(url_for('index'))
@app.route('/excluir/<int:id>')
def excluir(id):
if 0 <= id < len(animais):
animais.pop(id)
return redirect('/')
animal = Animal.query.get_or_404(id)
db.session.delete(animal)
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
\ No newline at end of file
File added
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