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 - 其中包含两次确实是一种浪费。但是,form/widgetMedia类的全部意义在于管理这种情况:它对引用进行重复数据删除,因此每个资产只被请求一次。

于 2011-07-31T18:10:06.177 回答
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 回答
0

您可以创建一个元类,该元类将在创建结果类型之前分析该类上所有字段小部件的重复媒体资源。这是一次性成本,因此任何解决方案都行得通。

于 2011-07-31T21:54:46.477 回答