2012-01-04 90 views
0

我有一個URL的conf像這樣:如何將字符串值傳遞給Django的URL模板標籤

url(r'^value-toggle/(?P<profile_id>\d{1,10})/(?P<on_or_off>on|off)/$', 
          'clipfo.profile.views.value_toggle', 
          name='value-toggle'), 

在我的模板,我想鏈接到它:

<a href="{% url value-toggle profile_id=profile.id on_or_off='off' %}">Turn off</a>. 

陷入NoReverseMatch同時呈現:

我查看其中包含的URL代碼的網頁時,遇到下列錯誤扭轉在 「價值來(')'和關鍵字 參數'{'profile_id':5,'on_or_off':'###修復我 - 壞模板 variable ###'}'not found。

請注意「###修復我 - 壞模板變量###」是我的TEMPLATE_STRING_IF_INVALID值。

如何將文字「off」作爲named param on_or_off的值傳遞給url django模板標籤?

回答

2

未來救了我!

在我的模板的開頭就叫

{% load url from future %} 

從未來使用url標記允許我做我需要做的事情。我只有換用單引號,如URL的名稱:

<a href="{% url 'value-toggle' profile_id=profile.id on_or_off='off' %}">Turn off</a>. 
+1

嗯,這很奇怪。我認爲Django 1.5中的'url'模板標籤('future'使用的語法)只允許使用上下文變量作爲第一個參數,而您仍然通過引用來避免使用上下文變量。 – 2012-01-04 12:53:03

+0

從未來載入網址對我來說不起作用...:/仍然會出現「無反向」錯誤 – Colleen 2012-08-14 01:23:44

+0

請注意引號。 url標記的一個版本需要在頁面名稱周圍引號,而另一個版本則不需要引號。我不記得需要他們的頭頂,但試着用兩種方法看看它是否能解決你的問題。 – 2012-08-15 08:57:17

相關問題