2013-01-08 60 views
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> 

當APP 2:

<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 }}無濟於事。

+1

我不明白TEMPLATE_DIRS與什麼有關 - 與URL或鏈接沒有關係。 –

+0

你是對的,我刪除它,但我仍然不知道要實現這一點。 – DGT

+0

當你寫'app'時,你的意思是你的項目的應用程序?或不同的網站實例? – trinchet

回答

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> 

你的APP 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'wil首先在當前應用程序中搜索。

+0

謝謝,我明白了。 – DGT