Gre*_*tle 14 google-app-engine yaml
我有时会浏览各种Google AppEngine教程,我只是注意到有关favicon.ico的StackOverflow问题中有些奇怪 - 特别是这个问题:appicon引擎中的"找不到错误"
- url:/favicon.ico
static_files:media/img/favicon.ico
上传: media/img/favicon.ico- url:/robots.txt
static_files:media/robots.txt
upload: media/robots.txt
所有的海报都在他们的app.yaml定义中包含了一个"upload:"行.无论是否有upload:行,应用程序看起来都是一样的,我在官方文档中没有看到它的任何提及.
它在哪里使用,或者如果包含这条线,它会有什么不同?
我一直在阅读文档,希望能更好地理解这一点.这是我从中推断出来的.
App Engine表示它将我们的静态文件和应用程序代码上传到不同的位置.为此,它必须知道哪些文件是静态的 - 这是通过upload参数指定的.
但是,这引发了一些关于app.yaml中指定的参数设计的问题.
App Engine是否可以单独从static_files参数推断出哪些文件是静态的?
在您的示例中,static_files参数的值与upload参数的值相同(即media/img/favicon.ico).但是,通常,static_files参数的值与upload参数的值不同.static_files参数用于允许将url模式中的匹配组替换为其中,以便生成文件路径,例如
- url: /item-(.*?)/category-(.*)
static_files: archives/\2/items/\1
upload: archives/(.*?)/items/(.*)
App Engine是否可以单独从url参数推断出哪些文件是静态的?
通常,不,因为url隐含的资源层次结构可能与实际的文件夹结构不同.例如,我可能已将index.html放入子文件夹中,但我可能希望使用根URL"hello.appspot.com/"访问它,而不是"hello.appspot.com/subfolder/".
App Engine是否可以使用url参数和static_files参数推断出哪些文件是静态的?
在给定url参数和static_files参数的情况下编写返回上传模式的函数似乎是可行的,从而无需显式上载参数.我认为它适用于简单的情况,但是,我可能有一个理由不明白,文档写道"处理程序无法确定应用程序目录中的哪些文件与给定的url和static_files模式相对应".
url:URL模式,作为正则表达式.表达式可以包含可以在具有正则表达式反向引用的脚本的文件路径中引用的分组.例如,/ item- (.?)/ category-(.)将匹配URL/item-127/category-fruit,并使用127和fruit作为第一和第二组.
处理:
- url: /item-(.*?)/category-(.*) static_files: archives/\2/items/\1static_files:来自应用程序根目录的URL模式匹配的静态文件的路径.该路径可以引用URL模式中分组中匹配的文本.如前面的例子中,
archives/\2/items/\1插入到位匹配第二和第一分组\2和\1分别.使用上面示例中的模式,文件路径将是archives/fruit/items/127.upload:一个正则表达式,匹配此处理程序将引用的所有文件的文件路径.这是必要的,因为处理程序无法确定应用程序目录中的哪些文件与给定的url和static_files模式相对应.静态文件与应用程序文件分开上载和处理.上面的示例可能使用以下上传模式:
archives/(.*?)/items/(.*)
另外注意,如果整个目录可以标记为static,则使用static_files的替代方法是使用static_dir.在这种情况下,不需要upload参数,因为static_dir应指向实际目录,因此App Engine只会将整个目录上传到存储静态文件的位置.但请注意,在这种情况下,url参数的使用会有所不同.
url:URL前缀.此值使用正则表达式语法(因此必须转义正则表达式特殊字符),但它不应包含分组.所有以此前缀开头的URL都由此处理程序处理,使用前缀后的URL部分作为文件路径的一部分.
static_dir:应用程序根目录中包含静态文件的目录的路径.匹配的url模式结束后的所有内容都附加到static_dir以形成所请求文件的完整路径.此目录中的所有文件都随应用程序一起上载为静态文件.
它记录在此处: https: //developers.google.com/appengine/docs/python/config/appconfig#Static_File_Pattern_Handlers。它基本上是一个正则表达式,用于标识映射器处理的文件。它是静态文件处理程序所必需的。
| 归档时间: |
|
| 查看次数: |
5768 次 |
| 最近记录: |