1

ウィジェットクラスを定義する複数のファイルがあり、ウィジェットにたとえば

class W1(forms.DateInput):

    class Media:
        css = {'all':('common/css/ui-darkness/jquery-ui-1.8.9.custom.css',),}
        js = ('common/js/jquery-ui-1.8.9.custom.min.js',)

class W2(forms.TextArea):

    class Media:
        js = ('common/js/jquery-ui-1.8.9.custom.min.js',)

同じページで W2 と W1 の両方を使用していますが、これは良くありません。複数のウィジェットを使用してもjsまたはcssが重複して複数回表示されないように、ウィジェットのメディア要件/クラスを管理するための可能な解決策は何ですか?

4

3 に答える 3

3

そのリンクされた質問は、JS または CSS を手動で含めることに関するものです。2 回含めると実際には無駄になります。しかし、フォーム/ウィジェットMediaクラスの要点は、この状況を正確に管理することです。参照の重複を排除するため、各アセットは 1 回だけ要求されます。

于 2011-07-31T18:10:06.177 に答える
0

結果のタイプが作成される前に、クラスで重複するメディア リソースのすべてのフィールド ウィジェットを分析するメタクラスを作成できます。これは 1 回限りのコストであるため、どのソリューションでも機能します。

于 2011-07-31T21:54:46.477 に答える
0

私は現在 Media クラスを使用していません。セルフチェックを使用してインライン js を記述しています。

<script>
    if(typeof(jQuery)!="function"){
        document.write('<script src="//code.jquery.com/jquery-1.10.0.min.js"></' + 'script>');
    }
</script>
于 2013-07-05T19:14:15.133 に答える