Commit ea3d6c8e by Ian Gustavo
parents bf7a2854 af170108
from flask import Flask, render_template, request, redirect from flask import Flask, render_template, request, redirect, url_for
from models import Animal from models import db, Animal
import os
app = Flask(__name__) 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('/') @app.route('/')
def index(): def index():
animais = Animal.query.all()
return render_template('index.html', animais=animais) return render_template('index.html', animais=animais)
@app.route('/cadastro') @app.route('/cadastro')
...@@ -15,20 +26,30 @@ def cadastro(): ...@@ -15,20 +26,30 @@ def cadastro():
@app.route('/adicionar', methods=['POST']) @app.route('/adicionar', methods=['POST'])
def adicionar(): def adicionar():
# O segredo está aqui: os nomes entre [''] devem ser IGUAIS ao 'name' do HTML
nome = request.form['nome'] nome = request.form['nome']
tipo = request.form['tipo'] especie = request.form['especie'] # Antes estava 'tipo', por isso dava erro
idade = request.form['idade'] 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) db.session.add(novo_animal)
animais.append(novo_animal) db.session.commit()
return redirect('/') return redirect(url_for('index'))
@app.route('/excluir/<int:id>') @app.route('/excluir/<int:id>')
def excluir(id): def excluir(id):
if 0 <= id < len(animais): animal = Animal.query.get_or_404(id)
animais.pop(id) db.session.delete(animal)
return redirect('/') 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
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