Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Curso de Flask

Curso de Flask

Bernardo Cassina

Bernardo Cassina

Request y Response

7/36
Recursos

Aportes 22

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Python 3.6 añadió una nueva forma de string format (aquí pueden ver más).
Se llaman formatted string literals o f-strings y facilitan mucho el formato de strings con expresiones incluidas.
El return en forma de f-string se vería así:

return f'Hello World Platzi, tu IP es{user_ip}'

Dentro de los { } pueden varias expresiones mientras las variables usadas estén dentro del scope de la función

No se si flask es más facil que django por mucho o este profesor explica mejor.

Para los que trabajan en Windows, a los fines de no estar configurando los SET uno a uno cada vez, vayan a la carpeta y archivo SCRIPTS/activate.bat y agregenle al final del archivo los comandos anteriores. Con eso debe bastar para ejecutar el servidor con todo. En mi caso ya lo deje con main.py para si alguno quiere cambiarlo a futuro.

set FLASK_APP=main.py set FLASK_DEBUG=1 flask run

Creo que la descripción del vídeo no concuerda con lo que explica el profesor 🤔

  • Flask provee varios tipos de variables que no brindan el contexto de nuestra aplicación una de ellas es request.
  • Para ello primero debemos de import request de Flask.
from flask import Flask, request

Tambien se puede enviar la variable de esta manera


@app.route('/')
def index():
    user_ip = request.remote_addr
    return f"Hola Mundo flask hellos, la IP es: {user_ip}"```

Excelente y super facil sacar la IP

Como aporte, por convención en flask a las funciones que están asociadas a un URL mediante el decorador route se les llama vistas.

Para que funcione el “request”, primero hay que importarlo en la primera linea:

from flask import Flask, request ```

Nunca está de más visitar la Documentación oficial

Muy bueno como funciona esto del request no sabia que existía.

Muy bien, funciona perfecto.

Averigué como hacerlo, no obstante parece que no es como en el video explicativo

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/get_my_ip", methods=["GET"])
def get_my_ip():
    return jsonify({'ip': request.remote_addr}), 200```

Genial!

Resumen de esta clase

Para esta clase se explico como funciona el objeto request para obtener la dirección ip del servidor en Flask. Para utilizar el objeto request se hace lo siguiente:

  1. importar el objeto request.

    from flask import Flask, request

  2. Crear una nueva variable llamada user_ip con el valor request.remote_addr

    user_ip = request.remote_addr

  3. Concatenar la variable user_ip formateada para convertirse en un string y mostrar su valor.

    return 'Hello World Platzi, tu IP es {}'.format(user_ip)

Los datos de la solicitud HTTP reenviados por el servidor WSGI serán encapsulados por el marco Flask como una instancia de la clase Request. El objeto de instancia de Solicitud contiene toda la información sobre una solicitud HTTP. Los atributos comunes incluyen:

form- Registre los datos del formulario en la solicitud. Tipo: MultiDict

args-Registra los parámetros de consulta en la solicitud. Tipo: MultiDict

cookies-Registra la cookie en la solicitud. Tipo: Dict

headers-Grabar el encabezado de la solicitud. Tipo: EnvironHeaders

method-HTTP método utilizado para registrar solicitudes: GET / POST / PUT ... Tipo: cadena

environ- Registre las variables de entorno reenviadas por el servidor WSGI. Tipo: Dict

url-Registra la URL solicitada. Tipo: cadena

Para obtener más información sobre la clase Solicitud, puede consultarSitio web oficial de Flask

2.1 objeto de solicitud

En la función de vista, puede usar directamente la solicitud de objeto global para acceder al objeto de Respuesta correspondiente a la solicitud actual. El siguiente ejemplo imprime toda la información del encabezado de la solicitud actual:


    @app.route('/')
    def index(): 
     print request.headers
     return 'see console output'

En caso tengan el error de request indefinido probablemente se deba a que les falte está linea de código que instala el paquete de request:
from flask import request

vamos muy bien en este curso

TIP Dependiendo de tu ordenador siempre fijate si el cambio se realizo o lo tomo el CMD que estes utilizando antes de cargar la pagina

ok, excelente

esto es hermoso, sigamos