Se tivermos vários arquivos definindo classes de widgets e se os widgets tiverem, por exemplo,
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",)
e usamos W2 e W1 na mesma página, isso não seria Boa. Eu gostaria de perguntar qual é a solução possívelpara gerenciar os widgets "requisitos de mídia / classes de modo que eu possa garantir o uso de vários widgets não teria js ou css duplicados aparecendo mais de uma vez?
Respostas:
3 para resposta № 1Essa pergunta ligada é sobre a inclusão de JS ou CSS manualmente - onde incluí-lo duas vezes seria realmente um desperdício. Mas, todo o ponto do formulário / widget Media
A classe é gerenciar exatamente essa situação: desduplica as referências, portanto, cada ativo é solicitado apenas uma vez.
0 para resposta № 2
Você pode criar uma metaclasse que analisará todos os widgets de campo para recursos de mídia duplicados na classe antes que um tipo resultante seja criado. Este é um custo único, portanto, qualquer solução funcionará.
0 para resposta № 3
Eu atualmente não estou usando a classe de mídia, eu escrevo inline js com alguns selfcheck
<script>
if(typeof(jQuery)!="function"){
document.write("<script src="//code.jquery.com/jquery-1.10.0.min.js"></" + "script>");
}
</script>