问题标签 [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.
python - 使用 BottlePy/GAE 进行浏览器缓存
我正在我的网站上运行 Google Page Speed,该网站位于 Google App Engine 上的 Python/Bottle 中。
它的意思是:'以下可缓存资源的新鲜度很短。为以下资源指定至少一周后的到期时间:'
然后继续列出我的大部分静态文件(图像、css、js),并说要指定一个缓存超过一周。
在我的 app.yaml 文件中,我有这个: default_expiration: "21d 1h" 这似乎没有做任何事情。
有没有人对我如何缓存它正在谈论的文件有任何想法,或者这是在 AppEngine 上使用 Bottle 的问题?
python - Loading a file just once on initialization of python script using Mod_WSGI and Bottle
I am pretty new to Python, Mod_WSGI and Bottle. My main problem is that when the process is run using Mod_WSGI I want it to load a file once on initialization. With running a script in terminal you would just use if __name__ == '__main__'
I need it to load the file once on initialization (or when first called) so that any subsequent calls to the process does not require the file to be reloaded. I am unsure of how to do this.
The following code is run whenever someone goes to the recommend page
How do I do the first 4 lines (ones involving parser) just on initialization so that I just need to call the res.recommend() whenever the recommend page is accessed?
Any help is appreciated, Mo
python - 在 Bottle 驱动的应用程序中,我在哪里存储每次请求时加载的数据?
我有一个简单的 Bottle 应用程序,它将其配置存储在一个文本文件中。自然,我需要该配置在应用程序的几乎每个处理程序中都可用,并且我希望在每次请求时都重新加载它。
在 Flask 中,我可以将配置文件加载到一个ConfigParser
实例中before_request
,并将对它的引用放入g
对象的属性中,就像 Flask 文档中描述的作为连接 SQLite的一种方式一样。然后该g
对象将在每个处理程序中可用:
另一方面,在 Bottle 中,线程本地被认为是一件坏事,存储数据库连接的建议方法是编写一个插件,该插件使用巧妙的技巧分析处理程序的签名。虽然 SQLite 已经解决了这个问题,但对于其他一些任意的每个请求数据,情况并非如此。
坦率地说,我不敢相信我应该编写 60 行代码来完成如此简单的任务,所以我想我一定是遗漏了一些东西。
有任何想法吗?
python - MiddleStorm 带瓶子的中间件
您如何将MiddleStorm中间件与瓶子一起使用?我按照这个例子,用 MiddleStorm 替换了 SessionMiddleware,但我无法让它工作。
我在控制台中收到此错误:
如果我将 myapp 的行更改为:
我在网页上收到此错误:
编辑:安装了瓶子、风暴、中间风暴
edit2:如果我将 myapp 行更改为 myapp = MiddleStorm(dafault_app, db) 我收到此错误:
edit3:使用@zeekay 代码我仍然收到此错误:
python - Bottle Python 中的 SQL Alchemy 或 SQL 对象
嗨,我是刚开始使用 bottle.py 框架的新手,有人有我们可以学习的示例 CRUD 应用程序吗?其次,两个包装纸中的哪一个在瓶子中运行得更快?谢谢。
python - 如何使用 Bottle 的 SimpleTemplate 引擎创建一个可以在多个模板中使用的宏?
我需要在我的 Bottle 应用程序的某些地方格式化一个链接。以前所有链接都在一个 SimpleTemplate 文件中,我定义了一个如下所示的宏:
无论我需要在哪里格式化指向 的链接obj
,我都使用:
现在我需要在几个模板中使用这些链接的格式。我将模板定义移动到一个名为 的单独文件macros.html
中,然后尝试%include
将此文件放入需要宏的模板中:
但是,Bottle 无法解析mylink
这种布局中的名称。
我知道我可以这样做:
但是,我不愿意这样做,因为我觉得这不是很快(我在任何给定页面上都有很多格式化链接)。
我错过了其他一些选择吗?
javascript - 我可以将javascript与瓶子(框架)一起使用吗?
我正在尝试使用瓶子(python web 框架)显示一个 html 页面。该页面嵌入了 javascript,但是当我用瓶子提供它时它不会显示它。
我正在使用的 JS 是EditArea,我可以按照自己的方式清理它,并将其放入一个 html 页面,当我在 chrome 中打开页面时该页面会正确显示。但是当我使用瓶子时:
并转到http://localhost:8080/edit或 /edit_area,我看到的页面没有任何花哨的 javascript 功能。
最终我想把它连接起来(EditArea 是文本区域,我将使用它来接受希望我能够运行的代码......但这是一个单独的问题......),但现在一切都应该要做的是显示页面和javascript。JS 尽可能简单地放在 html 中。这两个块使用不同的文件,但它们只是同一个 html 文件的副本,一个带有 .html 扩展名,另一个带有 .tpl 扩展名。
...然后就是所有的 JS 代码(不是我写的)。
在启动我导入的服务器的文件中:路由、运行、调试、模板、请求、send_file 和来自瓶的错误;和 sqlite3;但仅此而已。还有什么我应该包括的吗?
我查看了瓶子文档和其他一些地方,这要么是非常明显的事情,没有人会费心写下来,要么是人们不做的事情......
我在看睡衣(它不断提出涉及“python”和“javascript”的搜索查询的不同组合),但它看起来只是将 python 转换为 javascript。我不认为这就是我想要的 b/c javascript 已经是 javascript ...
感谢您提供的任何见解。
javascript - 如何将 javascript 或 css 文件加载到 BottlePy 模板中?
我正在尝试使用 BottlePy 返回一个 html 模板。这很好用。但是,如果我在我的 tpl 文件中插入这样的 javascript 文件:
我收到 404 错误。 (加载资源失败:服务器响应状态为 404(未找到))
有谁知道如何解决这个问题?
这是我的脚本文件:
这就是模板文件,位于“./views”子文件夹中。
也许它是来自开发服务器的“rootPath/js/main.js”,它在其中查找我的 js 文件?
文件的结构是:
谢谢。
python - 如何以及在何处部署我的 Python 和 BottlePy 应用程序
好的,所以我在使用 NLTK 包的 Bottle 中制作了这个应用程序。它在我安装了所有必需库的计算机上运行良好,但是,我无法让它在 Google 的 App Engine 上运行。它给出了这些错误:
我四处搜索并认为这是 GAE 的限制,所以我尝试使用 Alwaysdata 并在那里托管我的应用程序。但是在那里我遇到了未安装 YAML 模块的问题。我试图安装它,但访问被拒绝。
所以现在我被卡住了。这是我经常遇到的问题。在我的电脑上一切正常,但我无法让它在线工作。这是因为 GAE 限制,alwaysdata 限制吗?所以我想我在问我在哪里以及如何最好地部署?
当我租用自己的服务器并在那里拥有完全访问权限时会更容易吗?这是否像我自己的电脑一样工作,我可以安装所有东西?
如果我需要提供更多信息,请告诉我,我很无能为力。
python - Bottle.py 错误路由
Bottle.py 附带一个导入来处理抛出的 HTTPErrors 和路由到函数。
首先,文档声称我可以(几个例子也是如此):
但是,当导入此语句时,错误未解决,但在运行应用程序时会忽略这一点,只是将我引导到通用错误页面。
我找到了解决这个问题的方法:
但是这段代码阻止了我将我的错误全部嵌入到一个单独的模块中,以控制如果我将它们保存在我的 main.py 模块中会出现的问题,因为第一个参数必须是一个瓶子实例。
所以我的问题:
有没有其他人经历过这个?
为什么错误似乎只在我的情况下解决(我从pip install bottle 安装)?
有没有一种无缝的方法可以将我的错误路由从单独的 python 模块导入到主应用程序中?