问题标签 [bottle]

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

javascript - Python 中没有在 Bottle 上提供静态文件

我正在尝试设置一个应用程序,它采用模板 HTML 文件并对其进行实时修改。它在一定程度上可以正常工作,但是页面上的图像和 CSS 没有被提供,并且在请求它们时控制台上会出现 HTTP 500 错误。

这是我的目录结构

这就是我在 server.py 中设置路由的方式:

在我的 html 文件中,文件的链接如下:

可能是因为静态资源位于 assets/ 的子​​目录中吗?还是我完全误解了如何使用 static_file?

这是我在 Python 控制台上遇到的错误类型:

我不明白为什么它会路由到 /tempus/assets/ ...

有什么帮助吗?谢谢!

0 投票
5 回答
35534 浏览

python - 瓶静态文件

我已经尝试阅读 Bottle 的文档,但是,我仍然不确定静态文件服务是如何工作的。我有一个index.tpl文件,里面有一个 css 文件,它可以工作。但是,我读到 Bottle 不会自动提供 css 文件,如果页面加载正确,这是不可能的。

但是,我在请求页面时遇到了速度问题。是因为我没用return static_file(params go here)吗?如果有人能弄清楚它们是如何工作的,以及在加载页面时如何使用它们,那就太好了。

服务器代码:

指数:

0 投票
2 回答
1072 浏览

python - 尝试在守护程序模式下使用 mod_wsgi 显示默认 apache“它有效!” 页面而不是应用程序

我有一个 Python WSGI 应用程序,我已经编写并在嵌入式模式下使用 apache2 + mod_wsgi 运行,我正试图让它在守护进程模式下运行。

问题是,通过配置(如下),我看到的不是应用程序,而是默认的 Apache2 “它可以工作!” 页面,尽管它热心地陈述其运营状态,但它是错误的。

我只清理了 appname 和 urls 等,所以你看到了我正在使用的整个 apache conf。

无论我将 WSGIProcessGroup 选项放在该部分中,还是仅在主要部分中,这仍然只是显示“它有效!” 页。

该应用程序正在使用瓶子和 toscawidgets,以及 wsgi 验证器来确保它的所有行为都很好。我用来构建应用程序的代码:

编辑:我还想指出,我在带有 Python 2.6.5 的 mod_wsgi 2.8 和带有 Python 2.7.3 的 mod_wsgi 3.3 中都遇到了这个问题。

编辑 2: /static/ 的别名仍然有效,所以我似乎仍然在访问 VirtualHost。如果我注释掉 WSGIProcessGroup 指令并重新启动 apache,它将运行良好,但在嵌入模式而不是守护进程模式下。

0 投票
1 回答
991 浏览

jquery - 将 json 数据从 python (bottle.py) 传递到小册子的 javascript 库以显示在滑图上

我正在做我认为是一个简单的副项目。事实证明,我有点脱离了我的舒适区,因为我对 python 一无所知(我使用的是 PHP)。我正在尝试创建一个显示一组兴趣点的滑动地图(使用 cloudemade 的传单)。我有一个包含 POI 名称、纬度和经度的 CSV 文件。

到目前为止,我能够读取 CSV 数据并将其转换为 JSON 数据,并使用 bottle.py 在网页中显示 JSON 数据的转储。

我的问题是如何通过 jquery 将 bottle.py 的 JSON 数据传递给传单的 javascript 库?

克里斯

0 投票
1 回答
1021 浏览

javascript - 带有python瓶的extjs ajax响应

我是网络编程新手,所以请原谅我的幼稚问题,我尝试在网络上搜索,但找不到我的基本问题的答案。

我在服务器端使用 extjs(用于小部件和 ajax)和 python(使用瓶子)。

这是我的要求。

我有 extjs EditorGrid,它只有一列(可编辑)。在索引路由(瓶子路由)上,我返回填充在此网格中并显示的 json 字典,到目前为止,一切都很好,现在我想更新此列的值并将更新的值保存在服务器端。

所以我在我的 python 脚本上添加了另一条路由,并将 ajax_reply 作为 url 到我在 javascript 上的 ajax 请求(代码如下)。

现在我的问题是我如何向客户端发送响应,例如我想向客户端发送失败消息(即更新在服务器上不成功,我想发送更新失败的 ajax 响应。我尝试从我的 ajax_reply 路由但总是在客户端调用成功。

我很困惑如何从 ajax_repose 函数发送一个 json 响应,然后在我的 javascript 成功或失败函数中再次解析它以采取相应的行动。

任何帮助都非常感谢

0 投票
1 回答
363 浏览

python - 如何将瓶子用于 API 服务器

我使用瓶子框架来设置简单的网络服务。客户端提交数据时,如何判断这个数据包是通过POST还是GET方式?标题中的字段??

0 投票
1 回答
111 浏览

python - 为什么同一个文件与 textarea 和文件输入不同?

我正在尝试制作一个网络表单,您可以在其中将输入作为文件提供或将其粘贴到 textarea 中。但是,当相同的数据到达瓶中时,情况就不同了。当来自文件输入时,来自文本区域的数据长度更大。为什么会发生这种情况?

0 投票
1 回答
142 浏览

python - 我应该如何传递和从用户那里获取数据?

我有一个页面,用户在其中以简单的形式提供一些数据。这被发布到瓶子上,它发挥了它的魔力并产生了更多的数据。然后我需要用户输入来选择一些生成的数据,所以我将数据的相关方面传递给用户并用图表显示它。然后用户通过单击图进行选择。当我有用户选择时,我可以继续处理数据。但我不想将所有生成的数据传递给用户,只是为了取回相同的数据,因为用户应该只评估它的一个方面,并且可能会丢失一些数据。

在不将第一步生成的数据传递给用户的情况下,我应该如何获得用户评估?我需要将数据从一个@route 传递到另一个,而不是传递给用户,这可能吗?

0 投票
1 回答
4279 浏览

python - 尝试在 Apache/mod_wsgi 上设置 Bottle-powered Web 应用程序时出现错误 404

我是初学者程序员。我开始使用 Python 和 Bottle 来制作一个小型 Web 应用程序来打印表单,到目前为止一切都很好。真正的问题是配置 Apache 和mod_wsgi,据我所知几乎没有。

我的问题:我不断收到此错误:

未找到错误404

抱歉,请求的 URL /factura/ 导致错误:未找到

在工作中,他们给了我重定向到 IP:port 的地址;经过几天阅读 Apache 文档并通过网络查看示例后,我设法设置了配置,因此我的 VirtualHost 不会破坏其他已经运行的虚拟主机。配置如下所示(基于瓶子教程部署部分):

app.wsgi的几乎与 Bottle 教程-部署部分中的相同。我只添加了一行sys.stdout = sys.stderr

下面是一些与 Bottle 相关的 python 代码:

我已经阅读了与此类似的其他一些问题,但我无法看到我错过了什么。我想问题出在app.wsgi?

更新

文件结构

Apache 错误日志只显示

Exception KeyError: KeyError(-1211426160,) in <module 'threading' from '/usr/lib/python2.6/threading.pyc'> ignored 这是来自 wsgi/python 问题的警告,wsgi 问题 197无害

更新 2工作
添加@app.route("/factura/")注意斜线,随着应用程序导入的更改,from factura import app as application这两者一起使其工作

0 投票
2 回答
4563 浏览

python - 在 openshift 上的 Bottle.py 应用程序中加载静态文件

我正在开发一个应用程序,托管在 openshift 上并建立在他们的 bottle.py 快速入门示例(https://github.com/openshift/bottle-openshift-quickstart)上,但我很难正确使用静态文件. 我有一个本地版本,可以与瓶子中内置的服务器一起使用,但是当我将本地工作的内容转移到 openshift 应用程序中时,它的行为会有所不同。

在我的本地 main.tpl 中,以下行用于指示应加载哪些文件...

在我的本地 app.py 中,以下代码尝试提供正确的文件...

有条件是因为我试图找出一种方法来保持 /static 目录的组织,而不必编写几个类似send_static的函数,一个具有 css 文件的根位置,一个具有 js 文件的根位置或其他。

当代码在 openshift 中使用时,它不再起作用,本地版本在显示的页面中插入“/static/styles/base.css”,openshift 版本只插入“/static/base.css”。为了让 css 文件加载,我偶然发现了以下代码。

我的 main.tpl 保持不变......

但是在我的 openshift app.py 中,我必须明确地将子目录放入路由中

我是否遗漏了导致差异的 openshift 服务器环境?该应用程序正在运行,但我真的很想知道加载和显示 css 文件的正确方法。

谢谢。