每个选项卡都有单独的模板,没有单独的URL - Django

时间:2012-01-19 07:23:21

标签: django

我正在尝试使用Django开发报告系统。我必须显示有关各种类别数据的报告。我已将每个类别设置为tab-tab1,tab2等。是否可以为每个选项卡设置不同的模板,而无需更改URL。 我尝试过模板继承,但是每个选项卡都需要单独的url。 我担心的是,如果标签的数量增加,那么网址的数量也会增加。

有什么建议吗?

先谢谢。

3 个答案:

答案 0 :(得分:0)

您可以使用{% include %}代码并添加不同的模板。

我认为最好为每个标签提供唯一的网址,最少使用标签。

答案 1 :(得分: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>

答案 2 :(得分:0)

为什么增加的网址数量会出现问题?

据推测,您不需要为每个标签添加单独的URLconf条目,您只需捕获URL中的标签名称并将其发送到视图:

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

...

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