Question

J'utilise le cadre d'applications Web Appengine ( lien ). Est-il possible d'ajouter un middleware Django? Je ne trouve aucun exemple. J'essaie actuellement de faire fonctionner le middleware FirePython ( link ).

Était-ce utile?

La solution

C'est simple: vous créez l'application WSGI comme d'habitude, puis vous l'enveloppez dans votre middleware WSGI avant de l'exécuter.

Voir ce code de Bloog pour voir comment le firepython est ajouté en tant que middleware.

Autres conseils

Le framework GAE webapp ne mappe pas un à un vers le framework Django. Il serait difficile de faire ce que vous voulez sans implémenter vous-même une sorte d’adaptateur, je ne connais pas d’adaptateur de gestionnaire tiers pour ce faire.

Cela dit, j'utilise généralement le correctif app-engine pour pouvoir utiliser la dernière version Django 1.0.2 avec AppEngine. Vous pouvez ensuite inclure le middleware Django normalement avec le fichier setup.py. Si vous en aviez besoin, vous pourriez probablement regarder dans l'adaptateur de app-engine-patch pour voir comment ils le font, et commencer avec cela comme un framework.

" Middleware " Tel que compris par Django, il s’agit d’une sorte de processeur de requête / réponse, très différent de ce que WSGI appelle & "middleware &"; Pensez: un middleware de type Django ajoutera un session attribut permettant de demander à un objet de se baser sur ce que Beaker (middleware WSGI) a placé dans environ['beaker.session']. L'ajout de middleware WSGI à la pile devrait être simple (vous travaillez déjà au niveau WSGI dans votre main.py), l'ajout du processeur de requête / réponse dépend de la manière dont la requête et la réponse sont extraites de WSGI.

Comment cela peut être fait en utilisant Werkzeug (qui est un jeu d'outils de base WSGI) est décrite dans Le wiki de Werkzeug et dans l'un de ses modules contrib .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top