1

如何将下面的相同菜单列表(即模板库)用于不同的应用程序(例如,app1、app2 等)
我想我要问的是当我在 app1 中时,我喜欢看到这个:

<ul>
   <li><a href="/app1/" class="home">Home</a></li>
   <li><a href="/app1/help" class="help">Help</a></li>
</ul>

在 app2 中时:

<ul>
   <li><a href="/app2/" class="home">Home</a></li>
   <li><a href="/app2/help" class="help">Help</a></li>
</ul>

提前谢谢了。

PS:我试过了{{ request.path }}{{ request.get_full_path }}没有用。

4

1 回答 1

1

你可以做这样的事情,

<!-- project/templates/base.html -->
<html>
  ...
  <ul>
      {% include 'fragments/own_menu.html' %}
  </ul>
  ...
</html>

fragments/own_menu.html并在每个应用程序的模板文件夹中放置一个名为的模板。例如

app1
   templates/
     fragments/
         own_menu.html

哪个代码应该如下所示:

<li><a href="/app1/" class="home">Home</a></li>
<li><a href="/app1/help" class="help">Help</a></li>

你的应用程序2:

app2
   templates/
      fragments/
         own_menu.html

哪个代码应该如下所示:

<li><a href="/app2/" class="home">Home</a></li>
<li><a href="/app2/help" class="help">Help</a></li>

当您呈现子模板时,将首先在当前应用程序中搜索“fragments/own_menu.html”。

于 2013-01-08T23:05:13.777 回答