问题标签 [werkzeug]

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 投票
4 回答
138783 浏览

python - 104, 'Connection reset by peer' 套接字错误,或关闭套接字何时导致 RST 而不是 FIN?

我们正在并行开发 Python Web 服务和客户端网站。当我们从客户端向服务发出 HTTP 请求时,一个调用会在 socket.py 中持续引发一个 socket.error,如下所示:

当我用wireshark收听时,“好”和“坏”的反应看起来非常相似:

  • 由于 OAuth 标头的大小,请求被分成两个数据包。该服务使用 ACK 响应两者
  • 服务发送响应,每个标头一个数据包(HTTP/1.0 200 OK,然后是 Date 标头等)。客户端用 ACK 响应每个。
  • (好请求)服务器发送一个FIN、ACK。客户端以 FIN、ACK 响应。服务器响应 ACK。
  • (错误请求)服务器发送 RST、ACK,客户端不发送 TCP 响应,客户端引发 socket.error。

Web 服务和客户端都在运行 glibc-2.6.1 的 Gentoo Linux x86-64 机器上运行。我们在同一个 virtual_env 中使用 Python 2.5.2。

客户端是一个 Django 1.0.2 应用程序,它调用 httplib2 0.4.0 来发出请求。我们使用 OAuth 签名算法对请求进行签名,OAuth 令牌始终设置为空字符串。

该服务正在运行 Werkzeug 0.3.1,它使用 Python 的 wsgiref.simple_server。我通过 wsgiref.validator 运行 WSGI 应用程序,没有任何问题。

看起来这应该很容易调试,但是当我在服务端跟踪一个好的请求时,它看起来就像是错误的请求,在 socket._socketobject.close() 函数中,将委​​托方法变成了虚拟方法。当 send 或 sendto(不记得是哪个)方法被关闭时,发送 FIN 或 RST,客户端开始处理。

“对等连接重置”似乎将责任归咎于服务,但我也不信任 httplib2。客户有错吗?

** 进一步调试 - 看起来像 Linux 上的服务器 **

我有一台 MacBook,所以我尝试在一台上运行该服务,在另一台上运行客户端网站。Linux 客户端调用 OS X 服务器时没有错误 (FIN ACK)。OS X 客户端调用带有错误的 Linux 服务(RST ACK 和 (54, 'Connection reset by peer'))。因此,它看起来像是在 Linux 上运行的服务。是 x86_64 吗?一个糟糕的 glibc?wsgiref? 还在找...

** 进一步测试 - wsgiref 看起来很不稳定 **

我们已经使用 Apache 和 mod_wsgi 投入生产,并且连接重置已经消失。请参阅下面的答案,但我的建议是记录连接重置并重试。这将使您的服务器在开发模式下运行良好,并在生产中稳定运行。

0 投票
2 回答
3186 浏览

python - 使用 Werkzeug 和 Jinja2 的上下文处理器

我的应用程序在 App Engine 上运行,并使用WerkzeugJinja2实现。我想要一些功能上等同于 Django 自己的上下文处理器的东西:一个可调用的,它接受一个请求并将一些东西添加到模板上下文中。我已经有一个“上下文处理器”,可以在模板上下文中添加一些内容,但是如何让这个请求部分工作?我将上下文处理器实现为一个可调用对象,它只返回一个稍后用于更新上下文的字典。

例如,我想添加一些包含在request.environ.

0 投票
1 回答
1677 浏览

python - 没有 Flash/Silverlight 的 Python (WSGI) 中的 AJAX 上传,带有进度条

我正在寻找一个纯 Javascript/Python 上传示例,它使用服务器轮询而不是客户端 SWF 来显示上传进度(例如 rapidshare.com 上的那个)

目前,网站在 Werkzeug 框架包含的独立 wsgi 服务器上运行,但如果负载增加,可能会移动到 mod_wsgi。

我已经尝试过 gp.fileupload 中间件,但无法让它工作。他们网站上的示例也不起作用:|

网站已经将Glow库用于其他杂项客户端内容,但其中没有特定的上传相关功能。

0 投票
1 回答
904 浏览

python - Werkzeug 和 SQLAlchemy 0.5x 会话

更新:

通过 Werkzeug链接文本教程,获得了使用 sessionmaker() 而不是建议的 create_session() 创建 SQLAlchemy 会话的堆栈。

注意:这不是关于 SA,而是关于 Werkzeug。

Werkzeug 教程:

我问如何使用 sessionmaker() 来实现相同的目标:

结果,来自#pocoo RCI 的人帮我解决了这个问题:

在 sessionmaker(**args) 结束时没有( ) 它一直给我一个错误:

RuntimeError:没有对象绑定到应用程序

PS如果删除lambda它将不起作用。

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 投票
3 回答
2253 浏览

python - Werkzeug 在一般情况下,在 Python 3.1 中

我一直在努力研究**(s)** 一个可以使用 Python 开发 Web 应用程序的人。作为参考,我们使用的是 RHEL 64bit、apache、mod_wsgi。

历史:

  1. PHP + MySQL几年前
  2. PHP + Python 2.x + MySQL最近和当前
  3. Python + PostgreSQL正在处理它

我们使用一个很棒的库在 PHP 和 Python 之间进行通信(PHP 中的接口,Python 中的后端)......但是,随着即将开始的更大项目,使用 100% python 可能非常有利。

我们通常不希望有一个单一的框架来指示事情是如何完成的。一组有用的帮助程序和实用程序是首选(无论是 PHP 还是 Python)。

问题一:

在阅读经验丰富的 Python 用户的许多答案时,我看到Werkzeug多次推荐。如果几个有直接使用 Werkzeug 开发专业 Web 应用程序的经验的人可以评论(尽可能详细地了解他们的手指感觉)他们为什么使用它,为什么喜欢它,以及任何需要注意的事情,我会很高兴。

问题2:

是否有支持 Python 3.1.1 的 Werkzeug 版本。我已经使用 Python 3.1.1 在 Apache 2.2 上成功安装了mod_wsgi 。

如果没有版本,升级它以在 Python 3.1 上工作需要什么?

注意:我已经2to3在 Werkzeug 源代码上运行,它没有 python-compile

编辑:

我们正在启动的项目要到近一年后才能完成。在这一点上,我猜 Python 3.X 会更加主流。此外,考虑到我们正在运行应用程序(而不是分发它),任何人都可以评论现在解决一些 Python 3 问题的可行性,这样当一年后到来时,我们或多或少已经存在?

想法赞赏!

0 投票
3 回答
2026 浏览

python - werkzeug 将 url 映射到视图(通过端点)

从使用 werkzeug 开始,我尝试将 url(从文件 urls.py)映射到视图(从文件夹视图,然后在不同的文件中管理不同类型的视图),我的文件夹组织如下所示:

我的 urls.py 文件如下所示:

很明显我在views/places.py文件中得到了那个片段:

大多数 werkzeug 示例显示了使用装饰器暴露将 url 附加到视图。对于具有 5 或 6 个 url 的应用程序来说,这很实用,但当你有更多时,它可能会变成地狱......

有没有一种简单的方法可以将 url 直接映射到视图???
谢谢。

0 投票
3 回答
1580 浏览

python - 使用 Tipfy 获取 HTTP GET 变量

我目前正在Google 的Appengine上使用 tipfy,最近遇到了一个问题:我一生都找不到任何关于如何在我的应用程序中使用 GET 变量的文档,我尝试过筛选tipfyWerkzeug 的文档没有成功。我知道我可以request.form.get('variable')用来获取 POST 变量并**kwargs在我的处理程序中获取 URL 变量,但这与文档告诉我的一样多。有任何想法吗?

0 投票
1 回答
795 浏览

python - 试图在 apache 上运行 werkzeug(wsgi 错误)

我的 data_site.wsgi 文件:

我在 apache 遇到的错误:

路径:

0 投票
2 回答
9484 浏览

python - Using Python, getting the name of files in a zip archive

I have several very large zip files available to download on a website. I am using Flask microframework (based on Werkzeug) which uses Python.

Is there a way to show the contents of a zip file (i.e. file and folder names) - to someone on a webpage - without actually downloading it? As in doing the working out server side.

Assume that I do not know what are in the zip archives myself.

I apoligize that this post does not include code.

Thank you for helping.