我想開發一個使用Django的報告系統。我必須顯示有關各種數據類別的報告。我已將每個類別都設置爲tab-tab1,tab2等。是否可以爲每個選項卡使用不同的模板,而無需更改網址。 我已經嘗試過模板繼承,但這需要爲每個選項卡分別設置url。 我的擔心是,如果標籤數量增長,那麼網址的數量也會增加。沒有單獨的URL,爲每個標籤有單獨的模板 - Django
有什麼建議嗎?
在此先感謝。
我想開發一個使用Django的報告系統。我必須顯示有關各種數據類別的報告。我已將每個類別都設置爲tab-tab1,tab2等。是否可以爲每個選項卡使用不同的模板,而無需更改網址。 我已經嘗試過模板繼承,但這需要爲每個選項卡分別設置url。 我的擔心是,如果標籤數量增長,那麼網址的數量也會增加。沒有單獨的URL,爲每個標籤有單獨的模板 - Django
有什麼建議嗎?
在此先感謝。
爲什麼它的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 ...
您可以使用{% include %}標籤幷包含不同的模板。
而且我認爲最好每個標籤都有唯一的網址,最少使用hashtag。
您可以使用類似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>
感謝Burhan。我會閱讀有關它。我是Django的新手。所以,仍然在想辦法。 – user750241
感謝Daniel的解決方案。我很擔心每個選項卡的URLconf條目。這將解決我的問題。 – user750241