这里会显示出您选择的修订版和当前版本之间的差别。
— |
google:gae:static-files [2011/02/07 04:32] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== GAE中使用静态文件的三种方法 ====== | ||
+ | ===== 1) app.yaml中指定为静态文件/文件夹 ===== | ||
+ | |||
+ | |||
+ | 在app.yaml文件里定义,这是最常见,最简单的方法,如: | ||
+ | <code> | ||
+ | - url: /media | ||
+ | static_dir: media | ||
+ | </code> | ||
+ | 注意: | ||
+ | * 如果引用模板,则不能把templates定义为静态文件目录,否则会提示 TemplateDoesNotExist Error | ||
+ | |||
+ | ===== 2)使用zipserve ===== | ||
+ | |||
+ | |||
+ | 使用zipserve,好处是可以把很多文件打包,因为GAE有1000个文件限制,如: | ||
+ | |||
+ | 在根目录下添加tinymce.zip文件(不能为.rar) | ||
+ | |||
+ | 在app.yaml里添加: | ||
+ | |||
+ | <code> | ||
+ | - url: /tinymce/.* | ||
+ | script: $PYTHON_LIB/google/appengine/ext/zipserve | ||
+ | </code> | ||
+ | 然后在view.py文件里导入zipserve模块 | ||
+ | |||
+ | from google.appengine.ext import zipserve | ||
+ | |||
+ | 在模板文件里就可以直接这样引用: | ||
+ | |||
+ | /tinymce/xxxxxx | ||
+ | |||
+ | 注意:app.yaml里好象只能定义一个zipserve,例如 | ||
+ | |||
+ | 我已经定义了 | ||
+ | <code> | ||
+ | - url: /tinymce/.* | ||
+ | script: $PYTHON_LIB/google/appengine/ext/zipserve | ||
+ | </code> | ||
+ | 就不能再定义 | ||
+ | <code> | ||
+ | - url: /syntaxhighlighter/.* | ||
+ | script: $PYTHON_LIB/google/appengine/ext/zipserve | ||
+ | </code> | ||
+ | 本人测试不能正常调用/syntaxhighlighter/里的文件 | ||
+ | |||
+ | ===== 3)使用django的静态文件服务 ===== | ||
+ | |||
+ | 在urls.py里添加 | ||
+ | |||
+ | <code> | ||
+ | import os | ||
+ | |||
+ | urlpatterns = auth_patterns + patterns('', | ||
+ | |||
+ | …… | ||
+ | (r'^themes/(?P<path>.*)$', 'django.views.static.serve', | ||
+ | {'document_root': os.path.dirname(os.path.abspath(__file__)) + '/themes/'}), | ||
+ | ) + urlpatterns | ||
+ | </code> |