问题标签 [wsgi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
85774 浏览

python - 如何停止收到 ImportError:将 django 与 wsgi 一起使用时无法导入设置“mofin.settings”?

我无法让 wsgi 为我的项目“mofin”导入我的设置文件。

apache错误日志中的错误列表如下

我得到了“你好世界!” 此处列出的 wsgi 应用程序(http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide)可以正常工作。

使用 python manage.py (runserver|shell|syncdb|test store) 可以很好地加载 settings.py 文件,应用程序也是如此。

这是我的 wsgi 文件:

错误日志中打印的 sys.path 是

['/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib- tk'、'/usr/lib/python2.5/lib-dynload'、'/usr/lib/python2.5/site-packages'、'/usr/lib/python2.5/site-packages/gtk-2.0 ', '/home/django/mofin/trunk', '/home/django/mofin/trunk/mofin']

如果我用 manage.py 打开一个交互式 shell,sys.path 是

['/home/django/mofin/trunk/mofin', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2' , '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/lib/python2.5/site-packages', '/usr/ lib/python2.5/site-packages/gtk-2.0']

我的 django 设置文件如下所示: # mofin 项目的 Django 设置。

0 投票
4 回答
1694 浏览

python - 与 python 3.1 和 py-postgresql 兼容的 web 框架

我已经开始通过使用 Python 3.1 和 py-PostgreSQL 编写一个小型应用程序来学习 Python。现在我想把它变成一个网络应用程序。

但是好像web-py、Django、zope等大部分框架还是基于Python 2.x。不幸的是,py-PostgreSQL 与 Python 2.x 不兼容。

我是否必须重写我的所有类并用 web-py 等支持的东西替换 py-PostgreSQL,或者是否有与 Python 3.1 兼容的框架?

或者也许 py-PostgreSQL 与 2.x 兼容,但我没弄明白?

0 投票
4 回答
303 浏览

python - 在网络中使用 Python 帮助

我一直在使用Werkzeug来制作符合 WSGI 的应用程序。我正在尝试修改首页中的代码。

它的基本思想是你去 /hello URL,你会得到一个“Hello World!”。信息。你去 /hello/ 你得到“你好!”。例如,/hello/jeff 产生“Hello Jeff!”。无论如何,我要做的是在首页中放置一个带有文本框的表单,您可以在其中输入您的姓名,并将其提交给/hello。因此,如果您在表单中输入“Jeff”并提交,您会得到“Hello Jeff!” 信息。

但是,我不知道该怎么做。我需要将“名称”变量传递给 hello 模板,但我不知道如何。这是我的 index.html:

可以预见,method="get" 也不起作用。

0 投票
1 回答
586 浏览

apache - PyAMF 后端选择!

我一直在使用 PyAMF 为 flex 应用程序编写后端,该应用程序将根据客户的需要请求数百个不同图像的不同组。在开发 flex 代码时,我一直在使用 PyAMF 提供的“simple_server”WSGI 服务器。现在我准备编写一个强大的后端,它能够从 mySQL 数据库中提取图像,并尽可能快、尽可能高效地将它们发送给许多并发客户端。

PyAMF 文档很棒,因为它们提供了许多示例,但是我对我要创建的后端类型感到困惑。

我想要一个 SocketServer 或一个 WSGI 服务器或类似 Twisted、web2py 或 Tornado 的东西吗?这些甚至都不同吗?:) 我应该改用 Apache 模块(mod_wsgi 或 modjy 或 mod_python)吗?

我意识到这可能涉及许多公开辩论,所以也许你可以指出我对这些辩论的任何好的总结?

有这么多选择真是太好了,但是我该如何选择呢?

0 投票
2 回答
2189 浏览

nginx - 带有 mod_wsgi 的 nginx

我通常使用 FastCGI在nginx后面运行 Web 应用程序。我想尝试使用 mod_wsgi,但它似乎已经过时了。作者提到它适用于 0.5.34 版本,但我现在运行的是 0.7.62。

wiki 文章警告模块和更高版本的 nginx的编译问题。有人使用 mod_wsgi 和更新版本的 nginx 吗?我还缺少另一个模块吗?

0 投票
4 回答
12220 浏览

django - 如何强制对我的 Django 应用程序的某些 URL 使用 SSL?

我想确保对于我网站的某些 URL,将使用 SSL。我已经在 SO 上看到了很多答案。

强制重定向到 SSL 的所有页面,除了一个

所以我想我会用mod_rewrite.

我的问题更多是关于如何配置虚拟主机以一遍又一遍地运行我的Django 应用程序而不会出现问题。我正在使用.HTTPHTTPSWSGI

*:443一遍又一遍地复制配置是否有问题*:80?我应该怎么做才能获得最佳配置?

0 投票
3 回答
2998 浏览

python - python:使用文件上传和其他参数解析 HTTP POST 请求

任务很简单:在服务器端(python)接受一个包含上传文件和更多表单参数的 HTTP POST。

我正在尝试实现上传进度指示器,因此我需要能够逐块读取文件内容。

我发现的所有方法都基于 cgi.FieldStorage,它以某种方式只允许我获取整个文件(在内存中,这本身就是一场灾难)。有人建议重新定义 FieldStorage.make_file 方法(),这似乎破坏了 cgi 实现(奇怪......)。

我目前能够将整个 wsgi 输入逐块读取到文件系统,从而产生以下数据:

有谁知道是否有任何 Python 库可以可靠地解析这个东西?还是我应该手动执行此操作?(即 Python 2.5)

谢谢。

0 投票
6 回答
289 浏览

python - 关于 WSGI 堆栈的设置/管理的建议?

在浏览了许多有用且闪亮的 Python 框架之后,我发现它们都没有接近我的需要或提供的方式超过我的需要。我想自己组装一些东西;可以将其定义为框架,但不能定义为全栈。但是,我在网上找不到 Python 社区认为在应用程序中管理 WSGI 中间件的正确/标准方法。

我不是在寻找框架建议,除非它提供管理 WSGI 中间件的方法示例。我也不是在寻找有关如何让网络服务器与 python 对话的信息——我理解这一点。

相反,我正在寻找关于如何告诉 python 将哪些组件/中间件放入堆栈以及以何种顺序放入堆栈的建议。例如,如果我想使用:
Spawning-->memento-->AuthKit-->(?)-->MyApp
如何让这些组件按正确的顺序排列,以及如何在之前配置一个附加项目(比如 Routes)MyApp

所以; 您能否就管理 Python 应用程序的 WSGI 堆栈中包含的中间件的通用/正确/标准方法提供建议?

编辑
感谢 Michael Dillon 推荐A Do-It-Yourself Framework,这有助于突出我的问题。该文档的中间件部分指出,应该将中间件 A 包装在中间件 B 中,将 B 包装在 C 中,依此类推:

这显示了如何以非常简单的方式做到这一点。我了解这是如何工作的,但是在使用许多中间件包时似乎太简单了。

有没有更好的方法来管理这些中间件组件如何添加到堆栈中?也许是从配置文件中读取的常见设计模式?

0 投票
7 回答
2440 浏览

python - 如何在 python 工作者中处理长时间运行的请求?

我有一个 python(嗯,它现在是 php,但我们正在重写)函数,它接受一些参数(A 和 B)并计算一些结果(在图中找到从 A 到 B 的最佳路径,图是只读的),在典型场景一次调用需要 0.1s 到 0.9s 完成。用户可以通过简单的 REST Web 服务 (GET bestpath.php?from=A&to=B) 访问此功能。当前的实现非常愚蠢-它是一个简单的php脚本+apache+mod_php+APC,每个请求都需要加载所有数据(php数组中超过12MB),创建所有结构,计算路径并退出。我想改变它。

我想要一个具有 N 个独立工作人员的设置(每台服务器 X 和 Y 个服务器),每个工作人员都是一个循环运行的 python 应用程序(获取请求 -> 处理 -> 发送回复 -> 获取请求...),每个工作人员都可以处理一次一个请求。我需要一些可以充当前端的东西:从用户那里获取请求,管理请求队列(具有可配置的超时)并一次向我的工作人员提供一个请求。

如何解决这个问题?你能提出一些设置吗?nginx + fcgi 或 wsgi 还是别的什么?代理?如您所见,我是python、反向代理等方面的新手。我只需要一个关于架构(和数据流)的起点

顺便提一句。工作人员正在使用只读数据,因此无需维护它们之间的锁定和通信

0 投票
2 回答
1078 浏览

python - Apache2 上的 X-Sendfile 和非常大的文件

任何超过 4GB 的文件大小都不适用于 Apache2 的 mod_xsendfile(因为它将内容长度设置为很长)。

我愿意重写它以支持这一点;但是,我找不到有关如何将 apache api 的内容长度设置为大于 long 并因此通过 Apache 提供大文件的文档。我知道 Apache 可以做到这一点,因为它是使用大文件支持编译的,并且通过目录索引提供文件而没有任何问题。

我需要使用 Apache,因为我正在使用 WSGI。由于各种我不想进入的原因,我不想使用 FastCGI 或关闭 Apache2。

谢谢。