Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django和挂架的中间件_Python_Django_Pylons_Middleware - Fatal编程技术网

Python Django和挂架的中间件

Python Django和挂架的中间件,python,django,pylons,middleware,Python,Django,Pylons,Middleware,在我看来,Django和Pylons对于中间件应该如何工作有不同的想法。我喜欢塔架遵循标准,但Django似乎得到了更广泛的采用。是否可以编写中间件以用于这两种应用程序 涉及上述中间件的项目正在将名为ESAPI的安全工具包从Java移植到Python。因为Java是面向标准的,所以很容易不依赖框架。在Python中,不同的框架对HttpRequest对象和中间件等基本事物的工作方式有不同的想法,因此这似乎更困难 显然,新用户不能发布多个超链接。有关Django和Pylons中间件信息的链接,请参

在我看来,Django和Pylons对于中间件应该如何工作有不同的想法。我喜欢塔架遵循标准,但Django似乎得到了更广泛的采用。是否可以编写中间件以用于这两种应用程序

涉及上述中间件的项目正在将名为ESAPI的安全工具包从Java移植到Python。因为Java是面向标准的,所以很容易不依赖框架。在Python中,不同的框架对HttpRequest对象和中间件等基本事物的工作方式有不同的想法,因此这似乎更困难


显然,新用户不能发布多个超链接。有关Django和Pylons中间件信息的链接,请参见下文。

Pylons使用标准WSGI中间件。如果您通过WSGI部署Django,那么您也可以使用WSGI中间件。但是,当前不能通过settings.py中的标准Django middleware_CLASSES选项使用WSGI中间件


这就是说,目前有一个GoogleSummerofCode项目来支持在Django本身中使用WSGI中间件。我没有关注这个项目的状态,但是代码可以在中找到。

对于挂架,术语中间件意味着WSGI()中间件,而Django意味着它自己的中间件内部机制

但是,如果您在apache+下运行Django(而不是mod_python或lighttpd+flup),那么您也可以在Django中包含WSGI中间件。但通常不会这样做,因为WSGI中间件中的许多功能已经内置到Django或Django中间件中

WSGI和Django中间件之间的差异很小,因此在两者之间转换代码应该很容易。更棘手的问题是当他们使用ORM这样的外部库时


有一个很好的列表。

Daniel比我快,但我应该澄清他是正确的,你不能在中间件类中使用WSGI中间件。我对Django使用WSGI中间件的意思是将它添加到modu WSGI WSGIScriptAlias脚本中。