google.appengine.ext.zipserve パッケージ

概要

zip ファイルから静的ファイルを提供します。

1000 個のファイル制限に従って 1000 個の小さな静的ファイルを提供するアプリ向けのソリューションです。

最も単純なユースケースでは、次のように単に app.yaml の handlers セクションを使用します。

  • url: /images/.* script: $PYTHON_LIB/google/appengine/ext/zipserve

この場合、zipserve/__init__.py 内の main() が呼び出されます。このコードでは、URL パスが取得され、パスの最初の要素にある .zip ファイル(この例では、アプリの作業ディレクトリにある「images.zip」)が検索されます。見つかった場合は、zip ファイル内のそれより下位の一致パスが処理されます。つまり、/images/foo/icon.gif は zip ファイル images.zip 内の foo/icon.gif にマッピングされます。

WSGIApplication() の呼び出しに次のようなカスタム行を追加することによって、この動作をカスタマイズすることもできます。

def main():
app = webapp.WSGIApplication(
[(‘/’, MainPage),

(‘/static/(.*)’, zipserve.make_zip_handler(‘staticfiles.zip’)),

])

make_zip_handler() の呼び出しに max_age=N を渡して、有効期間(秒数)をオーバーライドできます。デフォルトは 600 秒です。

動作をさらにカスタマイズするには、ZipHandler をサブクラス化して get() メソッドをオーバーライドします。または、オーバーライドしてから ServeFromZipFile() を直接呼び出すこともできます。

デフォルトでは、認証が必要な場合でもこれらのページをキャッシュ可能にするキャッシュ制御が追加されます。これが希望するものでなければ、ZipHandler.SetCachingHeaders() をオーバーライドします。

内容

class google.appengine.ext.zipserve.ZipHandlerソース

ベース: google.appengine.ext.webapp._webapp25.RequestHandler

zip ファイルから静的ファイルを処理するリクエスト ハンドラ。

MAX_AGE = 600
PUBLIC = True
ServeFromZipFile(zipfilename, name)ソース

GET リクエスト ハンドラのヘルパー。

この場合、zip ファイル「zipfilename」から「name」という名前のファイルの内容が提供されます。zip ファイルが開けないか、指定のファイルを読み取れない場合は、メッセージがログに記録され、404 レスポンスが返されます。

パラメータ
  • zipfilename - zip ファイルの名前。

  • name - zip ファイル内のファイルの名前。

SetCachingHeaders()ソース

キャッシュ ヘッダーを設定するためのヘルパー。

これをオーバーライドして、MAX_AGE の設定を上回るようにヘッダーをカスタマイズできます。

get(prefix, name)ソース

GET リクエスト ハンドラ。

通常、引数は、URL パターンの一致するグループから WSGIApplication() に渡されます。

パラメータ
  • prefix - .zip 接尾辞のない zip ファイル名。

  • name - zip ファイル内のファイルの名前。

zipfile_cache = {}
google.appengine.ext.zipserve.main()ソース

メイン プログラム。

このパッケージが app.yaml から参照されたときに呼び出されます。

google.appengine.ext.zipserve.make_zip_handler(zipfilename, max_age=None, public=None)ソース

カスタム ZipHandler インスタンスを構築するためのファクトリ関数。

パラメータ
  • zipfilename - zip ファイルのファイル名。

  • max_age - 省略可能な有効期間。デフォルトは ZipHandler.MAX_AGE です。

  • public - 省略可能な公開フラグ。デフォルトは ZipHandler.PUBLIC です。

戻り値

ZipHandler サブクラス。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python の App Engine スタンダード環境