Articles of werkzeug

Obtención de la matriz como parámetros de consulta GET en Python

Sé que en php solo podría usar $_GET[‘key1’][‘key2’] para recuperar datos GET que se envían en forma de una matriz, pero es algo posible en Python, ya que solo recibo una cadena y no se reconoce. como una matriz / lista. Yo uso matraz / werkzeug si eso importa.

Compruebe si el contexto de solicitud de matraz está disponible

Quiero registrar algunos datos de las variables de contexto ( request , session ) cuando se registra durante una solicitud del Flask, pero si no, utilizo el comportamiento predeterminado. Estoy usando un try … except bloque en logging.formatter . ¿Hay una mejor manera de verificar el contexto de una solicitud? try: record.user = session[‘user_name’] record.very_important_data […]

Ruta del matraz que da 404 con números de punto flotante en la URL

Tengo la siguiente definición de ruta en el servidor.py de mi aplicación Flask: @app.route(‘/nearby//’) def nearby(lat, long): for truck in db.trucks.find({‘loc’: {‘$near’: [lat, long]}}).limit(5): if truck.has_key(‘loc’): del truck[‘loc’] return json.dumps(trucks) Pero cuando voy a http://localhost:5000/nearby/37.7909470419234/-122.398633589404 , obtengo un 404. Las otras rutas funcionan bien, por lo que es un problema con esta. ¿Qué estoy haciendo […]

Parse X-Forwarded-For para obtener ip con werkzeug en Heroku

Heroku envía proxies desde un cliente al servidor, por lo que tiene que analizar X-Forwarded-For para encontrar la dirección IP de origen. El formato general de X-Forwarded-For es: X-Forwarded-For: client1, proxy1, proxy2 Utilizando werkzeug en el matraz, estoy tratando de encontrar una solución para acceder a la IP original del cliente. ¿Alguien sabe una buena […]

Redireccionando una URL antigua a una nueva con el micro-marco de Flask

Estoy creando un nuevo sitio web para reemplazar uno actual, usando el micro-marco Flask (basado en Werkzeug) que usa Python (2.6 en mi caso). La funcionalidad básica y muchas páginas son las mismas. Sin embargo, al usar Flask, muchas de las URL anteriores son diferentes a las antiguas. Necesito una manera de almacenar de alguna […]

excepción para el parámetro no existente en FLASK

Tengo un formulario que envía parámetros. En mi formulario tengo una checkbox. Si mi checkbox no está marcada, no obtendré ningún parámetro. Si en mi módulo tengo: var = request.form[‘mycheckbox’] y si mi checkbox no está marcada (el parámetro no se pasa) Luego, en el modo de depuración, aparece el mensaje de error: Solicitud incorrecta […]

Cómo ejecutar el código después de Flask send_file () o send_from_directory ()

Tengo un sitio web basado en matraz donde los usuarios pueden descargar algunos archivos PDF. Esto es sencillo de implementar utilizando send_file() y send_from_directory() . Por ejemplo: @app.route(‘/downloadreport’) def download_report(): return send_from_directory( ‘/reports’, ‘my_report.pdf’, as_attachment=True) Me gustaría realizar alguna lógica (llamémosla after_download() ) DESPUÉS de que se complete la descarga . He intentado usar el […]

Obtenga la dirección IP al probar la aplicación del matraz a través de las pruebas de nos

Mi aplicación depende de request.remote_addr que es None cuando ejecuto pruebas a través de pruebas de detección que usan app.test_client().post(‘/users/login’, ….) . ¿Cómo puedo emular una IP (127.0.0.1 funciona bien) cuando ejecuto pruebas? Intenté establecer variables de entorno, envié encabezados con el método post () y revisé las pruebas de detección de narices, werkzeugs y […]

Obtenga la función de vista de matraz que coincide con una url

Tengo algunas rutas de url y quiero comprobar si apuntan a una regla de url en mi aplicación Flask. ¿Cómo puedo verificar esto usando Flask? from flask import Flask, json, request, Response app = Flask(‘simple_app’) @app.route(‘/foo/’, methods=[‘GET’]) def foo_bar_id(bar_id): if request.method == ‘GET’: return Response(json.dumps({‘foo’: bar_id}), status=200) @app.route(‘/bar’, methods=[‘GET’]) def bar(): if request.method == ‘GET’: […]

Matraz – los encabezados no se convierten a Unicode?

Estoy desarrollando un pequeño servicio web en python usando: Frasco (v. 0.8) tormenta ORM (v. 0.19) Apache con mod_wsgi Tengo un encabezado HTTP personalizado, Unison-UUID que estoy usando en algún momento para recuperar información en mi base de datos. Aquí está el fragmento (ligeramente reescrito para simplificar) con el que tengo problemas: uuid = flask.request.headers[‘Unison-UUID’] […]