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

2024-05-20 19:34:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个应用引擎项目,它将有可定制的主题。我希望能够使用jQueryUI主题。问题是弄清楚CSS文件将被命名为什么。(通常是“jquery-ui-1.7.2。自定义.css". 版本号会改变,人们倾向于重命名,但应该只有一个CSS文件,如果出于某种原因有两个或多个CSS文件,我可以接受这是一个错误情况。)因为它是一个静态文件(静态文件与应用程序的其余资源分开上载到App Engine),我不能仅仅glob目录对于CSS文件。我不能假设它是硬编码的,而且我真的不想把它作为一个配置设置,因为这是一个糟糕的用户体验。在

Guido告诉我要用symlink,这样App Engine就可以看到两个副本,一个是静态的,另一个是应用程序资源,但是symlinks在Windows上不起作用,而且由于这最终将是开源的,我无法控制用户使用哪个SDK。另一个建议是使用一个部署时脚本,但是Mac用户在他们的SDK版本中有一个很好的“部署”按钮,我不想告诉他们,“哦,嘿,很抱歉给您带来不便,但是您不能在这个项目中使用它。”

我显然需要一个现成的解决方案来解决这个问题,但我不知所措。对于如何从ThemeRoller中获取自定义jQueryUI主题并将其放入appengine应用程序,有谁有什么好的建议?一些后处理已经是必要的,因为浏览器提供的zip文件中的文件只在“css”目录中。也许我可以写一些东西,把一个原始的主题作为输入,然后在另一方面抛出一些有用的东西(部署时脚本技巧,但不知何故用户不友好)。这里的诀窍是演示-我希望用户在命令行上花费尽可能少的时间。理想的解决方案是假设执行此任务的人在很大程度上是非技术性的。解决方案的任何一部分都比不上安装像WordPress或Drupal这样的东西更难,而且在一个完美的世界里,它应该更容易。在


Tags: 文件项目用户目录app应用程序主题部署
1条回答
网友
1楼 · 发布于 2024-05-20 19:34:50

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

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

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

相关问题 更多 >