2010-08-25 102 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