1

AJAXのJSONペイロードを返すカスタムビューがあります。

class DataSource(grok.CodeView):
    """
    Generate JSON array needed to populate the fields
    """
    grok.context(ISiteRoot)
    grok.name("dgftreeselect-test-data")

    def render(self):
        self.request.response.setHeader("Content-type", "application/json")
        return json.dumps(SAMPLE_DATA)

結果のHTTP応答にplone.app.cachingのmoderateCaching操作を適用したいと思います。

Pythonで私の意図を表現するための最短で最も美しい方法は何でしょうか?

そして、もっと簡単な場合は、「ブラウザ/フロントエンドプロキシに24時間キャッシュする」と直接言ってください。

4

1 に答える 1

2

これを ZCML で行いたい場合、たとえば

  <cache:rulesetType
      name="my.package.DataSource"
      title="My data source view"
      description="Contains data stuff"
      />

  <cache:ruleset
    ruleset="my.package.DataSource"
    for=".browser.DataSource"
    />

次に、Plone UI または registry.xml インポートを使用して、my.package.DataSource を必要な操作 (例: 適度なキャッシュ) にマップします。

ルールセットを定義し、それらにビューをマップする方法については、http://pypi.python.org/pypi/z3c.caching/2.0a1を参照してください。Plone のルールセットの管理方法については、http://pypi.python.org/pypi/plone.app.cachingを参照してください。

于 2012-09-18T07:16:45.927 に答える