2

Pyramid/Pylon フレームワークでビュー callable を含む javascript コードまたは javascript ファイルを返すにはどうすればよいですか?

4

2 に答える 2

7

任意のテンプレート/ビュー callable で行うように、これを行うことができます。それほど違いはありません。コンテンツタイプをそのように設定することをお勧めします。

from pyramid.view import view_config

@view_config(name='javascript', renderer='templates/javascript.mako')
def my_js_view(request):
    request.response.content_type = 'application/javascript'
    return {... params ...}

他のビューと特に違いはありません。

于 2012-06-29T08:03:07.963 に答える
3

ジャバスクリプトの種類は?動的に生成されますか、それとも静的ですか?

静的な場合は、静的なビューを使用して、CSS や画像のように提供するだけです。

動的な場合は、テンプレートを使用して JavaScript ファイルを生成し、正しいコンテンツ タイプで提供します。これはChameleon テキスト レンダラーを使用した例ですが、もちろん、好みのテンプレート エンジンを使用することもできます。

@view_config(name='generated_javascript', renderer='templates/generated_javascript.txt')
def generated_javascript(request):
    request.response.content_type = 'text/javascript'
    # The returned dict holds items your template can access when
    # generating the javascript.
    return dict(foo='bar', spam='eggs')

生成された JavaScript をブラウザーが認識できるようcontent_typeに、Response オブジェクトに属性を設定していることに注意してください。

テンプレートは、他のテンプレートと同様に、dict返された の値といくつかの追加のシステム値にアクセスできます。

ベスト プラクティスは、動的 JavaScript の使用を最小限に抑え、可能な限り静的に提供することです。(動的な) コンテキスト情報は、静的な JavaScript を読み込んで使用できるように生成する HTML に実際に含める必要があります。静的 JavaScript はすべての訪問者がキャッシュできるため、パフォーマンスが大幅に向上します。javascript ファイルの Chameleon テンプレートを参照してください。それを達成する方法に関するいくつかのヒントについては。

于 2012-06-29T10:02:27.320 に答える