2010-08-25 127 views
1

我有兩個不同的意見(例如,一個顏色和其他汽車) 這意見指向相同的模板。
如果單擊一種顏色,模板將顯示所選顏色的所有信息,與汽車相同。django模板html

我試圖做的是插入按鈕返回:

<form action=""> 
{% ifequal back_to colors %} 
    <a href="/browse/colors/" style= "text-decoration: none"> 
    <input type="button" value="Go back"></input></a> 
{% endifequal %} 
{% ifequal back_to cars %} 
    <a href="/browse/cars" style= "text-decoration: none"> 
    <input type="button" value="Go back"></input></a> 
{% endifequal %} 
</form> 

凡在瀏覽的顏色我通過「back_to」:「顏色」,並查看汽車「back_to」:「汽車」。
結果是,我有兩個按鈕可以返回到這兩個頁面。
我想要的是如果我在彩頁中,只有按鈕返回頁面選擇顏色,如果我在車內頁面,只有按鈕返回到我選擇汽車的頁面。
希望我明白了,如果有人如何做到這一點,我將不勝感激。

回答

1

如果你能保證只有兩個選項(汽車或顏色),那麼你可以做到以下幾點:

<form action=""> 
{% ifequal back_to colors %} 
    <a href="/browse/colors/" style= "text-decoration: none"> 
    <input type="button" value="Go back"></input></a> 
{% else %} 
    <a href="/browse/cars" style= "text-decoration: none"> 
    <input type="button" value="Go back"></input></a> 
{% endifequal %} 
</form> 

而且上面的代碼可以簡化爲:

<form action=""> 
<a href="{% ifequal back_to colors %}/browse/colors{% else %}/browse/cars{% endifequal %}" 
    style= "text-decoration: none"> 
    <input type="button" value="Go back"></input></a> 
</form> 

更新

丹尼斯多甘關於使用反向使得good point

+0

現在我有兩個選擇,但在不久的將來,我會至少有一個指向同一個模板的視圖。我不知道爲什麼,但你的例子不起作用,現在我只有一個按鈕,但方向總是相同的顏色。 – pavid 2010-08-25 11:43:43

+0

你可以打印'back_to'的值,看看會發生什麼?另外,如果「顏色」不是一個變量,那麼你應該引用它。像這樣:'{%ifequal back_to「colors」%}' – 2010-08-25 11:56:10

+0

不錯的提示!如果我把顏色放在引號內,什麼都不會出現。當我試圖打印back_to({{back_to}})時,沒有任何內容出現。所以錯誤應該在那裏.. – pavid 2010-08-25 13:03:36

0

而是通過正常的字符串作爲back_to值,你可以讓他們到使用django.core.urlresolvers.reverse這樣的URL:

from django.core.urlresolvers import reverse 
url_to_my_view = reverse('name_of_view') # Gets the URL to the view! 

'name_of_view'name of your view在你的URLconf設置。希望有所幫助。

+0

在我嘗試與urls但我沒有工作之前。我可以展示我所做的: {%url/browse/colors/as col_url%} {%url/browse/cars/as car_url%}

{%if col_url%} {%ENDIF%} {%如果car_url%} {%ENDIF%}
pavid 2010-08-25 11:44:00