问题标签 [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.
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 投入生产,并且连接重置已经消失。请参阅下面的答案,但我的建议是记录连接重置并重试。这将使您的服务器在开发模式下运行良好,并在生产中稳定运行。
python - 没有 Flash/Silverlight 的 Python (WSGI) 中的 AJAX 上传,带有进度条
我正在寻找一个纯 Javascript/Python 上传示例,它使用服务器轮询而不是客户端 SWF 来显示上传进度(例如 rapidshare.com 上的那个)
目前,网站在 Werkzeug 框架包含的独立 wsgi 服务器上运行,但如果负载增加,可能会移动到 mod_wsgi。
我已经尝试过 gp.fileupload 中间件,但无法让它工作。他们网站上的示例也不起作用:|
网站已经将Glow库用于其他杂项客户端内容,但其中没有特定的上传相关功能。
python - Werkzeug 和 SQLAlchemy 0.5x 会话
更新:
通过 Werkzeug链接文本教程,获得了使用 sessionmaker() 而不是建议的 create_session() 创建 SQLAlchemy 会话的堆栈。
注意:这不是关于 SA,而是关于 Werkzeug。
Werkzeug 教程:
我问如何使用 sessionmaker() 来实现相同的目标:
结果,来自#pocoo RCI 的人帮我解决了这个问题:
在 sessionmaker(**args) 结束时没有( ) 它一直给我一个错误:
RuntimeError:没有对象绑定到应用程序
PS如果删除lambda它将不起作用。
python - 在网络中使用 Python 帮助
我一直在使用Werkzeug来制作符合 WSGI 的应用程序。我正在尝试修改首页中的代码。
它的基本思想是你去 /hello URL,你会得到一个“Hello World!”。信息。你去 /hello/ 你得到“你好!”。例如,/hello/jeff 产生“Hello Jeff!”。无论如何,我要做的是在首页中放置一个带有文本框的表单,您可以在其中输入您的姓名,并将其提交给/hello。因此,如果您在表单中输入“Jeff”并提交,您会得到“Hello Jeff!” 信息。
但是,我不知道该怎么做。我需要将“名称”变量传递给 hello 模板,但我不知道如何。这是我的 index.html:
可以预见,method="get" 也不起作用。
python - Werkzeug 在一般情况下,在 Python 3.1 中
我一直在努力研究**(s)** 一个可以使用 Python 开发 Web 应用程序的人。作为参考,我们使用的是 RHEL 64bit、apache、mod_wsgi。
历史:
- PHP + MySQL几年前
- PHP + Python 2.x + MySQL最近和当前
- 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 问题的可行性,这样当一年后到来时,我们或多或少已经存在?
想法赞赏!
python - werkzeug 将 url 映射到视图(通过端点)
从使用 werkzeug 开始,我尝试将 url(从文件 urls.py)映射到视图(从文件夹视图,然后在不同的文件中管理不同类型的视图),我的文件夹组织如下所示:
我的 urls.py 文件如下所示:
很明显我在views/places.py文件中得到了那个片段:
大多数 werkzeug 示例显示了使用装饰器暴露将 url 附加到视图。对于具有 5 或 6 个 url 的应用程序来说,这很实用,但当你有更多时,它可能会变成地狱......
有没有一种简单的方法可以将 url 直接映射到视图???
谢谢。
python - 使用 Tipfy 获取 HTTP GET 变量
我目前正在Google 的Appengine上使用 tipfy,最近遇到了一个问题:我一生都找不到任何关于如何在我的应用程序中使用 GET 变量的文档,我尝试过筛选tipfy和Werkzeug 的文档没有成功。我知道我可以request.form.get('variable')
用来获取 POST 变量并**kwargs
在我的处理程序中获取 URL 变量,但这与文档告诉我的一样多。有任何想法吗?
python - 试图在 apache 上运行 werkzeug(wsgi 错误)
我的 data_site.wsgi 文件:
我在 apache 遇到的错误:
路径:
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.