如何在Appengine的webapp框架中添加中间件?

2024-10-01 09:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 中间件django框架link例子appenginewebappfirepython
3条回答

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

如何使用Werkzeug(这是基本的WSGI工具集)来实现这一点在Werkzeug's wiki及其其中一个contrib modules中进行了描述。在

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

请参见blog中的this code,了解如何将firepython添加为中间件。在

gaewebapp框架没有将一对一映射到Django框架。如果不自己实现某种适配器,很难实现您想要的功能,我不知道有任何第三方处理程序适配器可以实现这一点。在

也就是说,我通常使用AppEngine补丁,这样我就可以在AppEngine中使用最新的1.0.2django版本,然后您就可以用普通的方式将Django中间件包含到AppEngine中设置.py文件。如果需要的话,可以查看appengine补丁的适配器,看看它们是如何实现的,并从一个框架开始。在

相关问题 更多 >