Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django重复小部件要求_Django_Django Widget - Fatal编程技术网

django重复小部件要求

django重复小部件要求,django,django-widget,Django,Django Widget,如果我们有多个文件定义小部件类,如果小部件有 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:

如果我们有多个文件定义小部件类,如果小部件有

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多次出现?

这个链接问题是关于手动包含js或css的-其中包含两次确实是一种浪费。但是,form/widget
Media
类的整个要点就是要准确地管理这种情况:它消除了引用的重复,因此每个资产只被请求一次。

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

我目前没有使用媒体类,我编写了带有一些自检的内联js

<script>
    if(typeof(jQuery)!="function"){
        document.write('<script src="//code.jquery.com/jquery-1.10.0.min.js"></' + 'script>');
    }
</script>

if(typeof(jQuery)!=“函数”){
文件。写(“”);
}