2013-05-18 37 views
0

可以在儿童页面中有脚本标记,并通过Django乳清(它们加载/显示子页面)来呈现吗?Django和加载jQuery

我有具有这种结构的移动web应用程序

ROOT 
--PAGE1 (here I'd like to have the script rendered by Django) 
--PAGE2 
--PAGE3 
--PAGE4 

的原因是因为在第二页上我有自定义的控制,如:轻触开关,按钮等,会做一些具体的事情在该网页上。

代码片段:

//This one gets rendered only when root page is loaded 
jQuery(document).ready(function($) { 
     //But the control/html element its on the second page 
     $("#myswitch").change(function() { 
       console.log("Switch changed!"); 
     }); 
}); 

回答

2

肯定。你需要的是一个基础模板,并为您的最终身体脚本定制块,这里有一个例子:

base.html文件:

<html> 
<head></head> 
<body> 
    <script src="/path/to/jquery.js"></script> 
    {% block tail_scripts %}{% endblock tail_scripts %} 
</body> 
</html> 

page1..4.html:

{% extends 'base.html' %} 

{% block tail_scripts %} 
<script src="/path/to/custom/script/if/needed.js"></script> 
<script type="src/javascript"> 
    (function() { 
    console.log('Build something awesome!'); 
    })(); 
</script> 
{% endblock tail_scripts %} 
+0

感谢您的代码片段,并将我指向正确的方向!我仍然有一个问题。为什么只有在刷新页面后才会加载脚本,然后整个设计中断(使用jQuery进行css,因为刷新后路径无效)。不知道如何解决这个问题... –

+0

你是什么意思的脚本不会被加载? django在资源上生成404还是浏览器没有执行它? –

+0

我已经弄明白了最后的路径,但现在我已经在页眉和扩展页面中创建了一个块,我想加载另一个JavaScript文件,但是只有在刷新页面后才能进入DOM。任何想法如何解决这个问题?谢谢! –