2013-05-08 72 views
1

我正在使用Django-1.4.5。和JQuery和我有模板系統的問題:我有base.html腳本和JQuery函數,但是當我嘗試在另一個模板(它擴展base.html)使用標籤時,它不顯示。這是我base.html文件:在Django中使用jQuery base.html模板

<head> 
<meta charset="utf-8"> 
<link href="{{ STATIC_URL }}/css/custom-theme/jquery-ui-1.10.2.custom.css" rel="stylesheet"> 
<script src="{{ STATIC_URL }}/js/jquery-1.9.1.js"></script> 
<script src="{{ STATIC_URL }}/js/jquery-ui-1.10.2.custom.js"></script> 
<link rel="stylesheet" href="{{ STATIC_URL }}/css/style.css" type="text/css" /> 
<script> 
$(function() { 
    $("#accordion1").accordion({ 
     heightStyle: "content", 
    }); 
    $('#accordion2').accordion({ 
     heightStyle: "content", 
    }) 
    $("#tabs").tabs().addClass("ui-tabs-vertical ui-helper-clearfix"); 
    $("#tabs-li").removeClass("ui-corner-top").addClass("ui-corner-left"); 
}); 

我還有一個模板:

{% extends "base.html" %} 
{% block title %}{% endblock %} 
{% block head %} 
{% endblock %} 
{% block content %} 
<div id="tabs"> 
    <ul> 
     <li><a href="#tab1">Tab 1</a></li> 
     <li><a href="#tab2">Tab 2</a></li> 
     <li><a href="#tab3">Tab 3</a></li> 
     <li><a href="#tab4">Tab 4</a></li> 
     <li><a href="#tab5">Tab 5</a></li> 
    </ul> 
    <div id="tab1"><p>Text 1</p></div> 
    <div id="tab2"><p>Text 2</p></div> 
    <div id="tab3"><p>Text 3</p></div> 
    <div id="tab4"><p>Text 4</p></div> 
    <div id="tab5"><p>Text 5</p></div> 
</div> 
{% endblock %} 

當我base.html文件切換標籤,它的工作原理沒有問題。當我擴展base.html時,我無法弄清楚爲什麼它不起作用。預先感謝您的答案。

+0

我會推薦使用['staticfiles'](https://docs.djangoproject.com/en/dev/howto/static-files/)應用程序來使用'static'模板標記,而不是'{{STATIC_URL }}',這不太靈活。 – gertvdijk 2013-05-08 12:47:09

+0

請詳細闡述一下「它不起作用」。根本沒有顯示身體?只是JavaScript/jQuery不轉換這個div到標籤?網頁來源是否符合您的期望?瀏覽器中的任何JavaScript控制檯錯誤?任何Django錯誤?等 – gertvdijk 2013-05-08 12:56:21

回答

0

我看不到你的base.html中的{% block content %}{% endblock %},你能寫那個嗎?

也許你正在寫模板頭{% block head %}{% endblock %}

+0

我在base.html中的內容是在標記(我有兩個手風琴),並在腳本標記。正如你所看到的,我只在這個其他模板中使用{%block content%} {%endblock%},結束它爲空。 – Gogo 2013-05-08 12:50:52

+2

@Gogo你的問題中包含的base.html模板中沒有'content'塊。在擴展它的模板中定義一個將不起作用。 – gertvdijk 2013-05-08 12:54:49

+0

你是對的!謝謝你的回答,我會解決它 – Gogo 2013-05-08 12:59:45

0

隨着

{% block head %} 
{% endblock %} 

你搗毀所有的內容在base.htmlhead塊。我猜你的base.html模板在這個塊中包含了所有的javascript源代碼。

只是省略了這兩行。 head塊將被繼承。

+0

不,我已經試過了。無論是否有頭塊,結果都是一樣的。 – Gogo 2013-05-08 12:50:19