【问题标题】:GAE Python: how get last modified date of static fileGAE Python:如何获取静态文件的最后修改日期
【发布时间】:2015-08-17 16:49:25
【问题描述】:

我正在向 Google 应用引擎上的 Python 应用添加一些静态文件。我是这样做的,如here 所述。

app.yaml:

handlers:
- url: /stylesheets
  static_dir: stylesheets

我将文件放在 my_project_app 文件夹中的子目录样式表中。

如何在样式表中获取文件的最后修改日期?

【问题讨论】:

  • 获取最后修改日期可能会帮助您解决什么问题?
  • 我将它作为参数添加到我的静态文件中以处理缓存:my_js.js?v=201508072024。

标签: python google-app-engine


【解决方案1】:

当您指定文件或目录默认为静态时,您无法使用您的应用程序访问它,这意味着您无法获取修改日期。您可以将静态文件视为上传到配置为提供静态文件的不同机器。

您可以将文件作为静态文件和应用程序资源上传(或使用符号链接),但这意味着它会占用配额两次。最近,通过添加application_readable 选项,这变得更容易了。在app.yaml 中将其设置为true 本质上是做同样的事情。 (见:https://cloud.google.com/appengine/docs/python/config/appconfig#Static_Directory_Handlers)。

一旦您的应用程序可以读取文件,您就可以使用标准的os 库来读取您需要的任何信息。

【讨论】:

    【解决方案2】:

    答案很简单,就是让静态文件可以访问。

    https://cloud.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers

    应用程序可读

    可选。默认情况下,在静态文件处理程序中声明的文件是 作为静态数据上传并仅提供给最终用户,他们不能 被应用程序读取。如果此字段设置为 true,则文件为 也作为代码数据上传,以便您的应用程序可以读取它们。两个都 上传对您的代码和静态数据存储资源收费 配额。

    使用这样的代码来定位相对于 python 文件的文件 - 有时你需要.. 才能上去。

    os.path.join(os.path.dirname(__file__), 'template', 'list_tbody_part.html')
    

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 2010-09-17
      • 1970-01-01
      • 2011-10-17
      • 2012-08-07
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      相关资源
      最近更新 更多