SlideShare una empresa de Scribd logo
Luis Cruz
 @lcruzc    Experimento Social
¿Otro más?
Introducción a Flask
El ORM de AppEngine es
   suficiente (para mí)
Introducción a Flask
¡Ya no tengo todos los datos!
:(
“Micro” framework
Keep It Simple, Stupid!
Simple y de pequeño tamaño

No toma muchas decisiones por ti

Convenciones

Instala lo que necesitas
$ virtualenv .
$ source bin/activate
$ bin/pip install Flask
Primer Programa (un
      clásico)
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
   return "Hello World!"

if __name__ == "__main__":
    app.run()
$ source ENV/bin/activate

$ python hello.py
 * Running on http:/127.0.0.1:5000/
Introducción a Flask
¿Lo juzgan por su
     tamaño?
...pues no deberían porque
    su aliado es la fuerza
“based on Werkzeug,
  Jinja 2 and good
     intentions.”
Así cualquiera...
Armin Ronacher
Plantillas
@app.route("/")
def index():
! anuncios = Anuncio.all()
! return render_template('index.html',
             anuncios=anuncios)
Introducción a Flask
<h1>Anuncios <span class="dark">disponibles</
span></h1>

{% for anuncio in anuncios %}
    <div class="post">
       <p>
         <span class="title">{{anuncio.titulo}}
</span>
!    ! {{anuncio.empresa}} - {{anuncio.web}}
!     </p>
!     <p>
!        <a href="{{ url_for('detalle',
key=anuncio.key()) }}">Más información</a>
!     </p>
    </div>
! {% endfor %}
Introducción a Flask
<!DOCTYPE HTML PUBLIC "-/       /W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    {% block head %}
       <title>{% block title %}{% endblock %} - My Webpage</
title>
    {% endblock %}
</head>
<body>
    <div id="content">{% block content %}{% endblock %}</div>
    <div id="footer">
        {% block footer %}
        &copy; Copyright 2008 by you.
        {% endblock %}
    </div>
</body>
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
   {{ super() }}
   <style type="text/css">
       .important { color: #336699; }
   </style>
{% endblock %}
{% block content %}
   <h1>Index</h1>
   <p class="important">
     Welcome on my awesome homepage.
   </p>
{% endblock %}
{% macro input(name, value='', type='text', size=20) -%}
    <input type="{{ type }}" name="{{ name }}" value="{{value|
size="{{ size }}">
{%- endmacro %}




  <p>{{ input('username') }}</p>
  <p>{{ input('password', type='password') }}</p>
Ruteo
@app.route("/")
def index():
! anuncios = Anuncio.all()
! return render_template('index.html',
anuncios=anuncios)

@app.route("/publicar/", methods=("GET", "POST")
def publicar():
! pass

@app.route("/detalle/<key>")
def detalle(key):
   pass
app.add_url_rule('/', 'index', index)
app.add_url_rule('/users/<int:user_id>',
! ! show_user, methods=['GET', 'PUT', 'DELETE'])
Depurador
Introducción a Flask
Y otras cosas sencillas...
from flask import render_template

@app.errorhandler(404)
def page_not_found(error):
    return render_template('not_found.html'),
404
from google.appengine.api import users

@appmain.context_processor
def pre_render():
   return dictcurrent_user
users.get_current_user())
class FlaskrTestCase(unittest.TestCase):

    def setUp(self):
        self.app = mymodule.app.test_client()

    def tearDown(self):
        pass

    def test_empty_db(self):
        rv = self.app.get('/')
        assert 'No entries here' in rv.data
Message Flashing
Signals
      Pluggable Views
Testing
          Blueprints
Extensiones
Flask-Admin        Flask-WTF

Flask-Babel        Flask-Cache

Flask-OAuth        Flask-MongoKit

Flask-SQLAlchemy   Flask-OpenID

Flask-MongoKit     Y otras!
:)
Otras razones...
Otra herramienta más
    para tu caja
“mejor” en ciertos
    contextos
...puedes aprender ¡es
   simple de entender!
Flask en proyectos FOSS
MoinMoin Wiki(2.0)
  http://moinmo.in/MoinMoin2.0
Sugar WebSDK
http://git.sugarlabs.org/websdk
Invenio
http://invenio-software.org
Opciones de Deploy
Introducción a Flask
• Comunidad muy activa y en
  crecimiento

• Excelente documentación
• Versión 0.8
• Licencia BSD
• flask.pocoo.org

Más contenido relacionado

KEY
Introducción a DJango
PDF
Cómo domar SonataAdminBundle
DOCX
Informe grupal f_arinango_ cuenca
PDF
Development Odoo Basic
PDF
(Muy breve) Introduccion a jQuery
PDF
Javascript y AJAX en Wordpress
PDF
Api De Google Calendar
PPTX
Curso AngularJS - 5. rutas
Introducción a DJango
Cómo domar SonataAdminBundle
Informe grupal f_arinango_ cuenca
Development Odoo Basic
(Muy breve) Introduccion a jQuery
Javascript y AJAX en Wordpress
Api De Google Calendar
Curso AngularJS - 5. rutas

La actualidad más candente (18)

PDF
Acceso a BBDD mediante un servlet
PDF
Ejemplo de formulario
PDF
Elementos de script en JSP
ODP
Introducción a JQuery
PPSX
Introducción a los hooks
PDF
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
PDF
Silex, desarrollo web ágil y profesional con PHP
PPTX
Curso AngularJS - 3. módulos y controladores
PPTX
Curso AngularJS - 7. temas avanzados
PDF
eyeOS: Arquitectura y desarrollo de una aplicación
PDF
Ejemplos de php_mysql
PDF
Modelo vista controlador
PPTX
Como crear un blog 2 parte
PPT
Charla Jquery
PPTX
Unidad 3 AJAX
PDF
jQuery Mobile :: Cuadros de diálogo
PDF
Jacqueline nuñez pacco
PDF
primefaces cortesia del portal de java
Acceso a BBDD mediante un servlet
Ejemplo de formulario
Elementos de script en JSP
Introducción a JQuery
Introducción a los hooks
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Silex, desarrollo web ágil y profesional con PHP
Curso AngularJS - 3. módulos y controladores
Curso AngularJS - 7. temas avanzados
eyeOS: Arquitectura y desarrollo de una aplicación
Ejemplos de php_mysql
Modelo vista controlador
Como crear un blog 2 parte
Charla Jquery
Unidad 3 AJAX
jQuery Mobile :: Cuadros de diálogo
Jacqueline nuñez pacco
primefaces cortesia del portal de java
Publicidad

Similar a Introducción a Flask (20)

ODP
Taller de introducción a Google App Engine
PDF
Mi Primera Aplicacion en Google App Engine
PDF
Presentacion web2py
PDF
Atix24
PDF
KEY
App Engine
PPT
Encuentro Linux 2011
ODP
Curso de Django | Django Course
PDF
Introducción a Python / Django
PDF
Taller de introducción al desarrollo web con Django
PDF
PPTX
Symfony-Community: Introducción a Symfony Framework
ODP
Python Gae django
PPTX
Curso Cloud Computing, Parte 2: Google App Engine
PDF
Django book-es-1.0-0.1-r789
PDF
Psp beta beers-feb-2013-pdf
PDF
El libro de django
PDF
Python para desarrolladores web
PDF
Devs.info
ODP
Python Multiuso
Taller de introducción a Google App Engine
Mi Primera Aplicacion en Google App Engine
Presentacion web2py
Atix24
App Engine
Encuentro Linux 2011
Curso de Django | Django Course
Introducción a Python / Django
Taller de introducción al desarrollo web con Django
Symfony-Community: Introducción a Symfony Framework
Python Gae django
Curso Cloud Computing, Parte 2: Google App Engine
Django book-es-1.0-0.1-r789
Psp beta beers-feb-2013-pdf
El libro de django
Python para desarrolladores web
Devs.info
Python Multiuso
Publicidad

Último (20)

DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PPTX
Administración se srevidores de apliaciones
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
ACTIVIDAD 2.pdf j
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Presentación de Redes de Datos modelo osi
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
taller de informática - LEY DE OHM
PDF
La electricidad y la electrónica .pdf n
PPT
Que son las redes de computadores y sus partes
PDF
diagrama de pareto.pdf valerie giraldo diaz
Trabajo colaborativo Grupo #2.docxmmuhhlk
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
Administración se srevidores de apliaciones
Calidad desde el Docente y la mejora continua .pdf
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
ACTIVIDAD 2.pdf j
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Temas y subtemas de las fichas 1 y 2.pdf
SAP Transportation Management para LSP, TM140 Col18
historia_web de la creacion de un navegador_presentacion.pptx
Presentación de Redes de Datos modelo osi
Zarate Quispe Alex aldayir aplicaciones de internet .docx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Yogurt de tocosh (1).pptx preparacion receta
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
taller de informática - LEY DE OHM
La electricidad y la electrónica .pdf n
Que son las redes de computadores y sus partes
diagrama de pareto.pdf valerie giraldo diaz

Introducción a Flask

Notas del editor