Frameworks Web de Python:
Django,Flask, Pyramid, Tornado, Bottle, Diesel, Pecan, Falcon
Frasco:
Dos bibliotecas externas:
Werkzeug – Caja de herramientas para WSGI (Interfaz estándar de Python entre la aplicación y el servidor)
Jinja2 - Motor de plantillas (Renderiza plantillas)
Ventajas:
Fácil de aprender e implementar
Buena documentación
Installation:
pip instalar Flask
Aplicación Mínima:
de flask importar Flask
app = Flask(__name__)
@[Link]('/')
def hello ('/'):
¡Hola Mundo!
if __name__ == '__main__'
[Link] ()
¿Qué hicimos arriba?
- Clase Flask importada
- Se creó una única instancia del módulo '__name__'
- Se utilizó el decorador 'ruta' para indicar qué url debería activar nuestra función 'hola'
- Definió una función 'hello' (también útil para generar la url más tarde usando url_for)
Usé la función 'run' para ejecutar el servidor local
Debug Mode:
[Link](debug=True)
Construcción de URL:
url_for( 'nombre_funcion' ) genera la url correspondiente a nombre_funcion
Métodos de URL:
@[Link] ( '/login', methods = [ 'POST', 'GET', 'DELETE', 'PUT', 'SEARCH' ]) y similares
Plano:
de flask import Blueprint
bp = Blueprint('bp', __name__)
Ej. app.register_blueprint(bp, url_prefix='/cat-ui')
#agrega el prefijo cat-ui a todas las urls al generarlas
url_for( 'bp.nombre_función' )
¿Por qué planos?
- Apoyando patrones comunes a lo largo de la aplicación
- Registrar prefijos predeterminados en la URL de la aplicación
- Proporcionar filtros de plantilla, archivos estáticos, etc.
Demo:
- Minimal Application
Caja de texto para el cambio de subcategoría
- Visión general de la etiquetado del catálogo de productos
Avanzando con Pymongo:
- $addToSet (Para añadir un nuevo elemento en una lista de valores de un campo)
- $group (Aggregates documents by desired key values)
- $match (Coincide documentos agregados sobre una restricción)
- $proyecto (Genera nombres deseados para consultas)
Referencias:
[Link]
[Link]