SlideShare a Scribd company logo
1 of 35
Introdução ao Flask
Um microframework web feito em Python
Cleyson Lima
Estudante de Licenciatura em Informática pelo IFPI - Campus Zona Sul e pythonista
Website: https://cleysonph.github.io/
Autobele Silva
Estudante de Licenciatura em Informática pelo IFPI - Campus Zona Sul
Website: https://autobele.github.io/
wls057l
Código da turma no Google Classroom
O que é Flask?
“Flask is a lightweight WSGI web application framework. It is
designed to make getting started quick and easy, with the ability
to scale up to complex applications. It began as a simple wrapper
around Werkzeug and Jinja and has become one of the most
popular Python web application frameworks.” - Documentação
Flask
Criador da Framework - Armin Ronacher
Senta que lá vem história
● Popularização das microframeworks
● Microframeworks de um único arquivo .py
● Brincadeira de 01 de Abril de 2010
● Projeto DENIED
● As coisas saíram do controle
● Post do Armin sobre a brincadeira
● Dia 06 de Abril de 2010 primeiro commit do Flask
Características
● Open Source
● Simples
● Design Patterns “Aberto”
● Extensível
Quem usa?
O protocolo HTTP
● Cliente x Servidor
● DNS lookup
● Request e Response
● Métodos GET e POST
● Códigos de resposta
○ 200 OK
○ 301 Redirecionamento
○ 404 Não Encontrado
○ 500 Erro Interno no Servidor
● Front End e Back End
Preparação do Ambiente
1. Criar pasta do projeto
2. Entrar na pasta
3. Criar ambiente virtual e instalar o Flask
4. Iniciar o ambiente virtual
Mãos à obra - Hello World em Flask
1º - Crie um arquivo chamado app.py 2º - Execute estes comandos no terminal
3º - Acesse o seu site em http://localhost:5000
Rotas
● Rotas Estáticas
● Rotas Dinâmicas
Retornando HTML
● Através de uma String simples
Retornando HTML
● Como retornar páginas HTML mais complexas?
● Jinja2
● Como usar?
Jinja2
1º Crie um arquivo chamado app.py
2º Crie um pasta com o nome “templates”
3ª Crie um arquivo dentro da pasta “templates” chamado “usuario.html”
Formulários no Flask
1ª Crie um arquivo dentro da pasta “templates” chamado “form.html”
Formulários no Flask
2º Adicione a importação do objeto “request”
3º Adicione a rota “/form” no seu aquivo app.py
Banco de Dados
● Dados tabulados
● Modelo Relacional
● SQL
id nickname nivel vida mana ataque
1 Darkblade 1 100 30 5
2 Momonga 99 999999 999999 999999
3 VonVigorous 30 5672 1930 130
4 V1609Pl0u5 15 2110 250 40
Banco de Dados
● SQL - Create Table
Banco de Dados
● SQL - SELECT
nickname nivel vida
Darkblade 1 100
Momonga 99 999999
VonVigorous 30 5672
V1609Pl0u5 15 2110
Banco de Dados
● SQL - INSERT
Banco de Dados
● SQL - UPDATE
Banco de Dados
● SQL - DELETE
SQL e Python
ORM’s
● Problemática de usar SQL
○ QUERY’s em strings diretamente no código
○ Aplicação acoplada ao banco de dados
● Como transformar código Python em SQL
● Mapeamento Objeto Relacional
● SqlAlchemy
ORM - Create Table
ORM - SELECT
ORM - INSERT
ORM - UPDATE
ORM - DELETE
ORM no Flask
● Extensões Flask
● Flask-SQLAlchemy
● Instalação - pipenv install Flask-SqlAlchemy
● Configurar Flask-SQLAlchemy
ORM no Flask
Introdução a Framework Flask

More Related Content

What's hot

What's hot (20)

Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil Adianti Framework - Desenvolvendo sistemas web de forma ágil
Adianti Framework - Desenvolvendo sistemas web de forma ágil
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento Web
 
Building blocks of Angular
Building blocks of AngularBuilding blocks of Angular
Building blocks of Angular
 
Django
DjangoDjango
Django
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...Introduction to Django REST Framework, an easy way to build REST framework in...
Introduction to Django REST Framework, an easy way to build REST framework in...
 
Flutter do zero a publicacao
Flutter do zero a publicacaoFlutter do zero a publicacao
Flutter do zero a publicacao
 
Kotlin for Android Development
Kotlin for Android DevelopmentKotlin for Android Development
Kotlin for Android Development
 
Aprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOPAprendendo a programar - Programação Procedural vs OOP
Aprendendo a programar - Programação Procedural vs OOP
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Arquitetura Node com NestJS
Arquitetura Node com NestJSArquitetura Node com NestJS
Arquitetura Node com NestJS
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014Documenting your REST API with Swagger - JOIN 2014
Documenting your REST API with Swagger - JOIN 2014
 

Similar to Introdução a Framework Flask

(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
Carlos Santos
 

Similar to Introdução a Framework Flask (20)

PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09
 
Apresentação do Oraculum Framework (PHP)
Apresentação do Oraculum Framework (PHP)Apresentação do Oraculum Framework (PHP)
Apresentação do Oraculum Framework (PHP)
 
Desmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest FrameworkDesmitificando as aplicações RESTFul usando Django Rest Framework
Desmitificando as aplicações RESTFul usando Django Rest Framework
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
Desenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OSDesenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OS
 
Search Plugins para Firefox
Search Plugins para FirefoxSearch Plugins para Firefox
Search Plugins para Firefox
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Python Zope Plone - Ftec
Python Zope Plone - FtecPython Zope Plone - Ftec
Python Zope Plone - Ftec
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Frameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHPFrameworks de Desenvolvimento Web com PHP
Frameworks de Desenvolvimento Web com PHP
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Introdução à Programação Web com Angular
Introdução à Programação Web com AngularIntrodução à Programação Web com Angular
Introdução à Programação Web com Angular
 
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
Tchelinux live 2020 - Detectando e Respondendo Incidentes de Segurança em Fro...
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013Plone: O CMS da moda? - Consegi 2013
Plone: O CMS da moda? - Consegi 2013
 
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
TDC2018SP | Trilha BigData - Apache Flink a Quarta Geracao do Big Data
 

Introdução a Framework Flask