3

我正在使用 appengine webapp 框架(链接)。是否可以添加 Django 中间件?我找不到任何例子。我目前正在尝试让 FirePython 中间件工作(链接)。

4

3 回答 3

6

这很简单:您按照正常方式创建 WSGI 应用程序,然后在执行之前将该应用程序包装在您的 WSGI 中间件中。

请参阅Bloog 中的此代码,了解如何将 firepython 添加为中间件。

于 2009-01-14T12:49:37.677 回答
0

GAE webapp 框架不会一对一地映射到 Django 框架。如果不自己实现某种适配器,就很难做你想做的事,我不知道有任何第三方处理程序适配器可以做到这一点。

也就是说,我通常使用 app-engine-patch,因此我可以将最新的 1.0.2 Django 版本与 AppEngine 一起使用,然后您可以将 Django 中间件以正常方式包含在 setup.py 文件中。如果需要,您可能可以查看 app-engine-patch 的适配器以了解它们是如何做到的,然后将其作为框架开始。

于 2009-01-18T21:04:44.230 回答
0

Django 理解的“中间件”是一种请求/响应处理器,与 WSGI 所说的“中间件”完全不同。想一想:类 django 的中间件会session根据 Beaker(WSGI 中间件)放入的内容为请求对象添加属性environ['beaker.session']。虽然将 WSGI 中间件添加到堆栈应该很简单(您已经在 WSGI 级别上工作main.py),但添加请求/响应处理器取决于如何从 WSGI 抽象请求和响应。

Werkzeug 的 wiki及其contrib 模块之一中描述了如何使用Werkzeug(这是基本的 WSGI 工具集)来完成此操作。

于 2009-02-14T10:04:13.317 回答