2012-01-19 37 views
0

我想開發一個使用Django的報告系統。我必須顯示有關各種數據類別的報告。我已將每個類別都設置爲tab-tab1,tab2等。是否可以爲每個選項卡使用不同的模板,而無需更改網址。 我已經嘗試過模板繼承,但這需要爲每個選項卡分別設置url。 我的擔心是,如果標籤數量增長,那麼網址的數量也會增加。沒有單獨的URL,爲每個標籤有單獨的模板 - Django

有什麼建議嗎?

在此先感謝。

回答

0

爲什麼它的URL,以增加的數量的問題?

想必你並不需要爲每個標籤單獨的URL配置項,你可以在URL中捕獲標籤名稱,並將其發送到視圖:

url(r'^reports/(?P<tab_name>\w+)/$', views.reports, name='reports') 

...

def reports(request, tab_name): 
    ... do something depending on tab_name ... 
+0

感謝Daniel的解決方案。我很擔心每個選項卡的URLconf條目。這將解決我的問題。 – user750241

0

您可以使用{% include %}標籤幷包含不同的模板。

而且我認爲最好每個標籤都有唯一的網址,最少使用hashtag。

0

您可以使用類似jquery tabs這樣的庫創建選項卡,然後按照@DrTyrsa建議的include或自定義模板標記(這將是我的個人偏好)單獨加載每個模板。

這裏是(從Twitter從優良bootstrap框架)的示例:

<ul class="tabs"> 
    <li class="active"><a href="#home">Home</a></li> 
    <li><a href="#profile">Profile</a></li> 
    <li><a href="#messages">Messages</a></li> 
    <li><a href="#settings">Settings</a></li> 
</ul> 

<div class="pill-content"> 
    <div class="active" id="home">...</div> 
    <div id="profile">...</div> 
    <div id="messages">...</div> 
    <div id="settings">...</div> 
</div> 

<script> 
    $(function() { 
    $('.tabs').tabs() 
    }) 
</script> 
+0

感謝Burhan。我會閱讀有關它。我是Django的新手。所以,仍然在想辦法。 – user750241

相關問題