django 和 Deliverance 作为中间件

发布于 2024-10-30 04:46:14 字数 237 浏览 2 评论 0原文

有没有关于如何使用 Deliverance 作为 Django 中间件 [1] 的示例?

谢谢, SimO

[1] http://packages.python.org/Deliverance/modules/middleware.html

are there any examples on how to use Deliverance as a middleware [1] into Django?

Thanks,
SimO

[1] http://packages.python.org/Deliverance/modules/middleware.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷︶言冷语的世界 2024-11-06 04:46:14

不幸的是,这并不容易,因为 Deliverance 的内部结构严重依赖 WSGI 和 WebOb,因此没有直接的方法来转换 Django Response。

最好的选择是在响应完全离开 Django 后对其进行转换。一种方法是使用 deliverance-proxy 对 Django 进行 http 代理。另一个是将 Deliverance 连接为 WSGI 中间件。例如,如果您使用 mod_wsgi 运行 Django,那么您的 .wsgi 文件中可能会出现这样的情况:

[...]
import django.core.handlers.wsgi                                                                                                                 
application = django.core.handlers.wsgi.WSGIHandler()                                                                                            

from deliverance.middleware import make_deliverance_middleware                                                                                   
application = make_deliverance_middleware(application,
         rule_uri="file:///var/deliverance.xml", 
         theme_uri="http://theme.mysite.com") 

Unfortunately it's not easy, because Deliverance's internals rely heavily on WSGI and WebOb, so there's no straightforward way to transform a Django Response.

Your best bet is transforming the response after it leaves Django entirely. One way to do that is http-proxying to Django with deliverance-proxy. Another is hooking up Deliverance as a WSGI middleware. For example, if you're running Django with mod_wsgi, something like this might work in your .wsgi file:

[...]
import django.core.handlers.wsgi                                                                                                                 
application = django.core.handlers.wsgi.WSGIHandler()                                                                                            

from deliverance.middleware import make_deliverance_middleware                                                                                   
application = make_deliverance_middleware(application,
         rule_uri="file:///var/deliverance.xml", 
         theme_uri="http://theme.mysite.com") 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文