2013-04-03 109 views
0

假設我有一組重複使用HTML塊的模板。我想將重複使用的HTML放入一個{% include %}{% block reused-stuff %},但其中一個HTML標記是href,我似乎無法動態生成。 (這類似於麪包屑問題。)Django模板動態URL

這裏是重複HTML的示例:

<td><a href="{% url analytics:buyer-stats:brand client.slug %}">{{ row.brand }}</a></td> 
<td>{{ row.num_leads }}</td> 
<td>{{ row.num_sold }}</td> 
<td>{{ row.revenue }}</td> 
<td>{{ row.scrub_rate|default_if_none:"N/A" }}</td> 

通知第一<td>包括hrefanalytics:buyer-stats:brand。我需要動態地將該值更改爲其他幾個值(取決於使用此include或block的模板)。即analytics:buyer-stats:offer,analytics:buyer-stats:client

關於如何在模板端實現這一點的任何建議?使用with row=my_data傳入row對象很容易,但我怎樣才能傳遞url值?編號: 該項目使用Django 1.4和Python 2.7.3。

回答

1

該語法在Django 1.5中無效,出於這個原因。您現在必須使用變量或用引號括起來的文字字符串作爲url名稱。這使得您可以輕鬆做到自己喜歡的事情:爲視圖名稱定義一個上下文變量,並在url標記中使用該變量。

+0

我正在使用Django 1.4。 1.4可以做到這一點嗎? – Rico

+1

您可以使用模板頂部的{%load url from future%}'將其打開。請注意,它會更改該模板中所有url標記的行爲。 –

+0

我很抱歉,但我沒有選擇您的答案作爲解決方案,因爲我沒有足夠的時間來驗證這將適用於我的情況。感謝您的建議。我會upvote您的評論。 – Rico