Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CRUD_Animais_da_Fazenda
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
7
Issues
7
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Hiago Rafael
CRUD_Animais_da_Fazenda
Commits
1be6321e
Commit
1be6321e
authored
Apr 16, 2026
by
bricioso
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
atualizei o app.py
parent
07c54d6f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
72 additions
and
10 deletions
+72
-10
app.py
Python/app.py
+72
-10
No files found.
Python/app.py
View file @
1be6321e
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
.
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
():
db
.
create_all
()
# Isso cria o arquivo database.db pra você!
db
.
create_all
()
# --- ROTAS ---
@app.route
(
'/'
)
def
login
():
return
render_template
(
'login.html'
)
@app.route
(
'/catalogo'
)
def
index
():
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'
)
def
cadastro
():
return
render_template
(
'cadastro.html'
)
@app.route
(
'/deletar/<int:id>'
)
def
deletar
(
id
):
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
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment