en Python y basado en el toolkit de Werkzeug y en el motor de plantillas Jinja2. Flask es bastante popular en la comunidad actualmente con 28,538 stars en Github.
que toda tu aplicación tiene que caber en un solo archivo Python (aunque si es posible), tampoco significa que a Flask le falta funcionalidad. El “micro” en microframework significa que Flask matiene un core simple pero que puede ser extendido. Flask no toma muchas decisiones por ti, como por ejemplo que base de datos utilizar. Y las decisiones que si toma son faciles de cambiar, por ejemplo que motor de plantillas va a utilizar. Todo lo demás depende de ti. Asi, Flask puede ser todo lo que necesitas y nada que no necesites.
la API de Pinterest procesa al rededor de 12 billones de requests por día, todo en Flask." Steve Cohen. • Linkedin: – "Toda nuestra infraestructura interna esta desarrollada en Python: deployment, monitoreo, performance, y todos los sitios internos son Python. Y eso sin incluir el procesamiento y analisis de Big Data." Rachel Sanders, Pycon 2014. • Twilio, wakatime, close.io, Indico.
@app.route('/', methods=['GET', 'POST']) def hello_world(): if request.method == 'POST': return 'Esto es un POST' elif request.method == 'GET': return 'Esto es un GET' if __name__ == '__main__':
recursos. Los Recursos son construidos encima de las vistas de Flask, dando un facil acceso a multiples metodos HTTP al definir estos metodos en los recursos. Un recurso de CRUD básico se vería como el siguiente.
ser generados automaticamente pero también se pueden modificar en base a las plantillas preestablecidas. Esto permite la separación entre el codigo que sirve para el procesamiento y el que sirve para la presentación dando como resultad un codigo más claro y efectivo.
class ContactForm(Form): name = TextField("Name", [validators.Required("Please enter your name.")]) email = TextField("Email", [validators.Required("Please enter your email address."), validators.Email("Please enter your email address.")]) subject = TextField("Subject", [validators.Required("Please enter a subject.")]) message = TextAreaField("Message", [validators.Required("Please enter a message.")]) submit = SubmitField("Send")
Inicialmente no, ya que Flask incluye un Built-in Development Server, sin embargo lo ideal es que para producción se utilice un Web Server como Nginx, Waitress o Apache.