每次从页面发布帖子时,整个CSS都会重新加载。有没有可能告诉他们不要一次又一次进来。有一系列的GET被解雇。我们能以某种方式进行优化还是正常行为?静态样式表会在每次发布请求后重新加载
环境是谷歌应用程序在Python中。
每次从页面发布帖子时,整个CSS都会重新加载。有没有可能告诉他们不要一次又一次进来。有一系列的GET被解雇。我们能以某种方式进行优化还是正常行为?静态样式表会在每次发布请求后重新加载
环境是谷歌应用程序在Python中。
结帐使用Static Files和Handlers for Static Files。由于后面的链接指向静态文件的缓存持续时间,我相信缓存功能是可能的。
与托管 环境中传统的网络,谷歌应用程序引擎不 没有直接除非 配置为这样做的文件服务解决您的 应用程序的源目录。我们将我们的 模板文件命名为index.html,但此 未自动使URL /index.html处的文件 可用。
但是,在很多情况下,您想要将 静态文件直接提供给网页浏览器。图片,CSS 样式表,JavaScript代码,电影 和Flash动画通常都是 与网络应用程序和 直接提供给浏览器。您可以让App Engine直接为特定的 文件提供服务,而无需使用 代码处理您自己的处理程序。
您只需将所有的css放在“静态目录”中,并指定到app.yaml文件的过期时间。
这里是我的项目之一的app.yaml:
application: <my_app_id>
version: 1
runtime: python
api_version: 1
skip_files: |
^(.*/)?(
(app\.yaml)|
(index\.yaml)|
(\..*)|
(.*\.pyc)|
(.*\.bat)|
(.*\.svn/.*)|
(.*\.lnk)|
(datastore/.*)|
(img/src_img/.*)|
)$
handlers:
- url: /favicon\.ico
static_files: img/favicon.ico
upload: img/favicon.ico
expiration: 180d
- url: /img
static_dir: img
expiration: 180d
- url: /static-js
static_dir: static-js
expiration: 180d
- url: .*
script: main.py
如果你的CSS来自静态文件,然后史蒂夫·提到你希望把它放在一个静态目录,并指定它的app.yaml文件。例如,如果你的CSS文件在目录中称为样式表:
handlers:
- url: /stylesheets
static_dir: stylesheets
expiration: "180d"
与此要记住的关键一点是,当你上传你的CSS文件的新版本,则必须更改文件名,否则,游客到您的网站仍将使用旧的缓存版本,而不是你的闪亮的新版本。简单地递增一个数字就很好。
如果您的CSS是动态生成的,那么当请求进入时,您需要在响应对象的头文件中设置缓存。例如,在您的请求处理程序,你可能有这样的事情:
class GetCSS(webapp.RequestHandler):
def get(self):
# generate the CSS file here, minify it or whatever
# make the CSS cached for 86400s = 1 day
self.response.headers['Cache-Control'] = 'max-age=86400'
self.response.out.write(your_css)
我在我的app.yaml以下行,仍然将其与每个请求重新加载,我没有,虽然到期线,THX大家响应。 处理程序: - url:/ stylesheets static_dir:stylesheets – dhaval 2009-06-11 04:04:04