python - 获取有关 Python App Engine 中静态文件的信息;解决方法

标签 python google-app-engine jquery-ui themes

我正在开发一个具有可自定义主题的 App Engine 项目。我希望能够使用 jQuery UI 主题。问题在于确定 CSS 文件的名称。 (通常是“jquery-ui-1.7.2.custom.css”。版本号会改变,人们倾向于重命名,但应该只有一个 CSS 文件,如果由于某种原因有两个或多个。)因为它是静态文件(静态文件与应用程序的其余资源分开上传到 App Engine),所以我不能只 glob CSS 的目录文件。我不能简单地假设它是硬编码的,而且我真的不想将其设置为配置设置,因为这是一种糟糕的用户体验。

Guido 告诉我对其进行符号链接(symbolic link),以便 App Engine 看到两个副本,并且可以将一个视为静态,另一个视为应用程序资源,但符号链接(symbolic link)在 Windows 上不起作用,并且由于这最终将是开源的,因此我可以无法控制用户使用哪个 SDK。另一个建议是使用部署时脚本,但是 Mac 用户在他们的 SDK 版本中有这个漂亮的“部署”按钮,我不想告诉他们,“哦嘿,很抱歉给您带来不便,但是您可以不要将其用于此项目。”

我显然需要一个开箱即用的解决方案来解决这个问题,但我不知所措。任何人对于如何从 ThemeRoller 中获取自定义 jQuery UI 主题有任何好的建议。并进入 App Engine 应用程序?已经需要一些后处理,因为 ThemeRoller 为您提供的 zip 文件中的唯一文件位于“css”目录中。也许我可以写一些东西,将原始主题作为输入,并在另一端吐出一些有用的东西(部署时脚本技巧,但不知何故对用户不友好)。这里的技巧是演示——我希望用户在命令行上花费尽可能少的时间。理想的解决方案假设执行此任务的人员大部分都是非技术人员。该解决方案的任何部分都不会比安装 WordPress 或 Drupal 之类的东西更困难,并且在完美的世界中,它应该变得非常非常容易。

最佳答案

为了完成您的要求,我将使用数据存储来提供 CSS 文件。因为这样可以轻松列出、排序甚至修改和上传。

除此之外,您的下一个最佳选择是将 CSS 数据存储在脚本中(一个字典,其中文件名是键名,CSS 代码是值)。或者,按照您的建议,在部署到 AppEngine 之前运行脚本。

就我个人而言,我会选择存储在数据存储选项中,因为它将允许更多的用户自定义(例如每个用户都能够提供自己的 CSS 文件),只需确保使用 memcache 以避免需要尽可能访问数据存储(这应该是很常见的情况),以及使用 HTTP header 告诉浏览器在本地缓存 CSS 文件。

关于python - 获取有关 Python App Engine 中静态文件的信息;解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2099008/

相关文章:

python - 在Python中将字符串转换为十进制

python - 属性错误: module 'cv2' has no attribute 'face' (OpenCV and Python)

google-app-engine - 是否可以在 Java 应用程序中将 404 重定向到 Google App Engine Standard 上的 index.html?

python - 如何从本地 python 应用程序访问谷歌云存储?

Python函数: multiple arguments

Python:寻求文件中的 EOL 不起作用

java - 如何使安全信息远离 App Engine 日志?

jquery - 如何使用 jQuery 关闭对话框?

javascript - 使用 JSON 文件的 jQuery ui 自动完成

javascript - .Remove() 删除所有 div 元素