2024-10-01 09:32:51 发布
网友
我使用的是appenginewebapp框架(link)。是否可以添加Django中间件?我找不到任何例子。我目前正在尝试让FirePython中间件工作(link)。在
Django所理解的“中间件”是一种请求/响应处理器,与WSGI所称的“中间件”完全不同。想一想:类似django的中间件将根据烧杯(WSGI中间件)在environ['beaker.session']中的内容向请求对象添加session属性。虽然将WSGI中间件添加到堆栈应该很简单(您已经在main.py中处理了WSGI级别),但是添加请求/响应处理器取决于如何从WSGI抽象请求和响应。在
environ['beaker.session']
session
main.py
如何使用Werkzeug(这是基本的WSGI工具集)来实现这一点在Werkzeug's wiki及其其中一个contrib modules中进行了描述。在
这很简单:按照常规创建WSGI应用程序,然后在执行之前将该应用程序包装在WSGI中间件中。在
请参见blog中的this code,了解如何将firepython添加为中间件。在
gaewebapp框架没有将一对一映射到Django框架。如果不自己实现某种适配器,很难实现您想要的功能,我不知道有任何第三方处理程序适配器可以实现这一点。在
也就是说,我通常使用AppEngine补丁,这样我就可以在AppEngine中使用最新的1.0.2django版本,然后您就可以用普通的方式将Django中间件包含到AppEngine中设置.py文件。如果需要的话,可以查看appengine补丁的适配器,看看它们是如何实现的,并从一个框架开始。在
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补丁的适配器,看看它们是如何实现的,并从一个框架开始。在
相关问题 更多 >
编程相关推荐