问题标签 [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.
bottle - Bottle web 框架:任何方式来运行控制台/shell 并让它与 Werkzeug 一起工作?
我搜索但找不到一种简单的方法来运行类似于 Djangomanage.py shell
或 Rail 的控制台或 shellrails console
由于我刚开始将 Bottle 用于现有项目,因此我只想在控制台中使用现有模型和管理器。我想出的最接近的是使用 ipdb 的 set_trace() 并从那里开始,但这无论如何都不理想。
另外,我尝试将 Bottle 与 Werkzeug 集成,但是当我按照说明进行操作时:
我收到以下回溯错误:
python - nginx + uwsgi + flask - 禁用自定义错误页面
是否可以禁用 nginx 的自定义错误页面 - 如果我可以这样称呼它们 - 以显示我的框架的异常页面?
我真的看不到我的 werkzeug 调试器工具以 html 呈现...
更新
好的,我必须制作一个非常简单的烧瓶应用程序才能工作,我将发布这些位:
/home/my_user/.virtualenvs/nginx-test/etc/nginx.conf
/home/my_user/dev/nginx_test/___init___.py
PYTHONPATH 环境变量:
我如何运行 uwsgi:
我如何运行 nginx:
如果我点击根页面:
如果我像这样手动运行 nginx:
相反,我会看到,以及我想看到的:
当然,当我没有引发异常时,我确保它会起作用,而是在我的 index() 函数中返回“Hello World”。
这被称为 .NET 中的自定义错误页面。我想禁用它,让 nginx/uwsgi 将调试器生成的 html 直接传递给浏览器,而不是内部服务器错误的东西。
更新 2
现在,如果我通过以下方式更改我的烧瓶应用程序以启用调试模式:
/home/my_user/dev/nginx_test/___init___.py
然后我得到502错误。
但是,如果我不提出异常:
/home/my_user/dev/nginx_test/___init___.py
当我点击页面(http://localhost:5000)时,我的浏览器上会出现“Hello World”。
python-2.7 - werkzeug 获得空流
输入内容类型是多部分/表单数据。在这种情况下,流将是空的,表单将包含常规的 POST / PUT 数据,文件将包含上传的文件作为 FileStorage 对象。 输入内容类型为 application/x-www-form-urlencoded。然后流将为空,表单将包含常规的 POST / PUT 数据,文件将为空。 输入内容类型都不是它们,流指向带有输入数据的 LimitedStream 以供进一步处理。
根据 werkzeug 的文档,我将 header 中的 content-type 设置为“text/plain”,但流仍然是空的。我的代码如下:
python - Flask/Werkzeug 调试器、流程模型和初始化代码
我正在使用 Flask 编写 Python Web 应用程序。我的应用程序在启动时与另一台服务器建立连接,并在后台定期与该服务器通信。
如果我不使用 Flask 的内置调试器(使用 debug=False 调用 app.run),没问题。
如果我确实使用内置调试器(使用 debug=True 调用 app.run),Flask 会使用相同的代码启动第二个 Python 进程。最终侦听 HTTP 连接并通常按照我的应用程序应有的行为是子进程,我认为当调试器启动时父进程只是在那里监视它。
但是,这对我在两个进程中运行的启动代码造成了严重破坏;我最终得到了与外部服务器的 2 个连接,2 个进程记录到同一个日志文件,通常,它们相互绊倒。
我认为在调用 app.run() 之前我不应该做真正的工作,但是我应该把这个初始化代码放在哪里(我只想每个 Flask 进程组运行一次,不管调试器模式如何,但需要在启动时运行并且独立于客户端请求)?
我发现这个关于“Flask auto-reload and long-running thread”的问题有些相关,但有些不同,答案对我没有帮助。(我也有一个单独的长时间运行的线程标记为守护线程,但是当重新加载器启动时它被杀死,但我要解决的问题是在任何重新加载需要发生之前。我不关心重新加载;我关心额外的进程,以及避免在父进程中执行不必要代码的正确方法。)
python - Flask 路由查询参数
假设我用 Flask 设置了两条路线:
这会将 /example 路由到 example.Index 并将 /example/1 路由到 example.Show。
但是当我转到 /example?parameter=miau 时,它会路由到 example.Show 而不是 example.Index。
为什么会发生这种情况,我应该如何解决这个问题?
apache - 页面接收时间过长
我已经将 Web 应用程序从使用 mod_python 改写为使用 mod_wsgi。问题是现在至少需要 15 秒才能处理任何请求(萤火虫暗示几乎所有这些时间都花在了接收数据上)。在重写之前,它花费了不到 1 秒的时间。我使用 werkzeug 进行应用程序开发和 apache 作为服务器。服务器负载似乎很小,内存使用也是如此。我正在使用 apache2-mpm-prefork。
我正在使用 mod_wsgi 的默认设置——我认为它被称为“嵌入式模式”。我已经测试过切换到 apache2-mpm-worker 是否会有所帮助,但没有。从应用程序日志来看,应用程序似乎很快就完成了请求 - 不到 1 秒。我已将 apache 日志更改为调试,但我看不到任何可疑的东西。我已将应用程序移动到另一台机器上运行,但它都是一样的。
提前感谢您的帮助。
javascript - 通过 Javascript 访问时如何授权使用 werkzeug?
我在 Flask 中实现了基本授权。(参考这个片段)它工作得非常好。
问题是,当通过 Javascript 访问应用程序时(例如,通过 JS 发送消息的用户名和密码),这种基本授权不起作用。
如果授权失败,应用程序应该向用户返回 401 响应并停止应用程序,但应用程序不向用户返回任何内容,应用程序在未经授权的情况下开始工作。
我怎样才能解决这个问题?
提前致谢。
python - 如何使用 FlaskClient 测试多部分上传(用于单元测试)
文档很少谈论这些,只是 PUT/POST/GET/DELETE 的基本参数,但我有一个伴随 PUT 的分段上传,我该如何测试它?谢谢!
python - 即使出现语法错误,也保持 simpleserver 处于活动状态
有没有办法配置 Flask 使用的简单服务器不退出每个语法错误?
目前我正在将此设置用于简单服务器。将 passthrough_errors 设置为 False 意味着大多数错误实际上使进程保持活动状态,以便我可以使用交互式调试器,但语法错误仍然会退出程序。我尝试了不同的配置值,但没有找到任何可行的方法。谢谢!