Pergunta

Eu estou usando o framework appengine webapp ( ligação ). É possível adicionar Django middleware? Não consigo encontrar qualquer exemplos. Atualmente estou tentando obter o middleware FirePython ao trabalho ( ligação ).

Foi útil?

Solução

É fácil:. Você criar o aplicativo WSGI como por normal, em seguida, enrole essa aplicação em sua middleware WSGI antes de executá-lo

este código de bloog para ver como FirePython é adicionado como middleware.

Outras dicas

O quadro webapp GAE não mapeia um para um para o framework Django. Seria difícil fazer o que quiser sem implementar algum tipo de adaptador de si mesmo, eu não sei de quaisquer terceiros adaptadores manipulador partido para fazer isso.

Dito isso, eu geralmente usam o app-engine-patch para que eu possa usar a última 1.0.2 liberação Django com AppEngine, e então você pode apenas incluir o Django middleware da forma normal com o arquivo setup.py. Se você precisava, você provavelmente poderia olhar através de adaptador do app-engine-patch para ver como eles fazem isso, e começar com isso como um quadro.

"Middleware", como entendido por Django é um tipo de processador de pedido / resposta, bem diferente do que WSGI chama de "middleware". Pense: Django-como middleware irá adicionar atributo session ao pedido objeto baseando no que taça (middleware WSGI) colocou em environ['beaker.session']. Ao adicionar WSGI middleware à pilha deve ser simples (você já trabalho em nível WSGI em sua main.py), acrescentando pedido processador / resposta depende de como solicitação e resposta são abstraídos do WSGI.

Como isso pode ser feito usando Werkzeug (que é conjunto de ferramentas básicas WSGI) é descrito em de Werkzeug wiki e em um de seus contrib módulos .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top