2013-05-18 35 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。任何想法如何解決這個問題?謝謝! –