Pregunta

Estoy usando el marco de aplicación web appengine ( enlace ). ¿Es posible agregar middleware Django? No puedo encontrar ningún ejemplo. Actualmente estoy tratando de hacer que el middleware FirePython funcione ( enlace ).

¿Fue útil?

Solución

Es fácil: crea la aplicación WSGI como de costumbre, luego envuelve esa aplicación en su middleware WSGI antes de ejecutarla.

Consulte este código de Bloog para ver cómo funciona Firepython agregado como middleware.

Otros consejos

El marco de la aplicación web GAE no se asigna uno a uno al marco de Django. Sería difícil hacer lo que quiere sin implementar algún tipo de adaptador usted mismo, no conozco ningún adaptador de controlador de terceros para hacer esto.

Dicho esto, generalmente uso el parche de motor de aplicaciones para poder usar la última versión 1.0.2 Django con AppEngine, y luego puedes incluir el middleware Django de la manera normal con el archivo setup.py. Si lo necesita, probablemente podría mirar a través del adaptador del parche del motor de la aplicación para ver cómo lo hacen, y comenzar con eso como un marco.

" Middleware " como lo entiende Django es un tipo de procesador de solicitud / respuesta, bastante diferente de lo que WSGI llama & "; middleware &"; Piense: el middleware tipo django agregará el atributo session para solicitar el objeto basándose en lo que Beaker (middleware WSGI) ha puesto en environ['beaker.session']. Si bien agregar middleware WSGI a la pila debe ser sencillo (ya trabaja en el nivel WSGI en su main.py), agregar procesador de solicitud / respuesta depende de cómo se abstraen la solicitud y la respuesta de WSGI.

Cómo se puede hacer esto usando Werkzeug (que es el conjunto de herramientas WSGI básico) se describe en wiki de Werkzeug y en uno de sus módulos contrib .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top