模板中的 Django 和选项卡式导航
Posted
技术标签:
【中文标题】模板中的 Django 和选项卡式导航【英文标题】:Django and tabbed navigationin templates 【发布时间】:2013-11-01 16:59:05 【问题描述】:我正在构建一个 django 项目,其中包括一个客户模型。任何客户都可以是某些日历条目模型或某些图片模型的外键。我希望能够进入客户页面(例如 domain/customoer/1)并能够导航到与客户相关的不同模型(例如客户的所有图片、客户的所有日历条目)。我正在使用引导程序来“展示网站。我的想法是使用选项卡。所以我为我的主模板 customer.html 创建了一个 pil
<ul class="nav nav-pills">
<li class="active"><a href="#personal-data" data-toggle="pill">Personal Data</a></li>
<li><a href="#history" data-toggle="pill">History</a></li>
<li><a href="#analysis" data-toggle="pill">Analysis</a></li>
<li><a href="#diagnosis" data-toggle="pill">Diagnosis</a></li>
<li><a href="#treatment" data-toggle="pill">Treatment</a></li>
<li><a href="#appointments" data-toggle="pill">Appointments</a></li>
<li><a href="#graphics" data-toggle="pill">Graphics</a></li>
</ul>
我正在考虑为每个药丸添加一个模板
<div class="tab-content">
<div id="personal-data" class="tab-pane active ">
<div id="history" class="tab-pane">History is in the making</div>
<div id="analysis" class="tab-pane">
% include 'customer/analysis.html' with customer=customer %
</div>
<div id="diagnosis" class="tab-pane">Diagnosis is differential</div>
<div id="treatment" class="tab-pane">Treatment what treatment??</div>
<div id="appointments" class="tab-pane">Ap point ment</div>
<div id="graphics" class="tab-pane">Now this is going to be hard!</div>
每个标签中的模板可以做不同的事情,比如上传图片导航到不同的页面等。
当我点击药丸时,url (domain/customer/1/) 不会(自然地)改变以告知我当前所在的选项卡。所以我的问题是我怎么知道我现在在哪个标签中?我希望用户能够从不同的选项卡(上传图片等)做不同的事情,并且我希望能够在调用视图后重定向到特定的选项卡?也许可以将#id 附加到 url 以指定选项卡,但它不会发生在 bootstrap 中。
在 django 中处理选项卡的最佳方法是什么?也许是阿贾克斯?我不会有同样的问题吗?任何想法或语言也会很好
【问题讨论】:
【参考方案1】:我对这种事情使用模板继承。它简单而灵活。例如,您可以像这样在基本模板中定义主导航:
...
<li % block news %% endblock %>News</li>
<li % block features %% endblock %>Features</li>
<li % block sport %% endblock %>Sport</li>
...
然后,在每个应用程序的基本模板中,您将拥有如下内容:
<!-- news/base_news.html -->
% extends 'base.html' %
...
% block news %class="active"% endblock %
...
【讨论】:
非常感谢您的回答。最后一件事。如果我有扩展基础的 news.html。我想要扩展 news.html 的 international_news.html。可以做到吗?我可以在 news.html 中创建 international_news.html 将看到的新块吗? @Apostolos 是的,你可以做这两件事。以上是关于模板中的 Django 和选项卡式导航的主要内容,如果未能解决你的问题,请参考以下文章
如何从父 shell 选项卡式页面导航到 shell 选项卡式页面