2013-10-10 58 views
0

我在模板中有一些鏈接,我想指向特定的url。Django:模型實例url附加到當前網址

模板在訪問URL:loacalhost:8000 /帳號/輪廓

{% for poll in voted_poll_list %} 
    <h4><a href="{{ poll.link_url }}">{{ poll.title }}</a> </h4> 
{% endfor %} 

在models.py我創建的URL投票對象在模板中使用。

def link_url(self): 
      return "polls/"+ "allcat/" +str(self.id) 

的問題是,當模板點擊一個鏈接就指向loacalhost:8000 /帳號/資料/調查/ allcat的/ 1代替loacalhost:8000 /調查/ allcat/1這與url模式相匹配

url(r'^polls/(\w+)/(?P<pid>[-\d]+)/', 'pollsite.views.poll_detail', name='detail_poll'), 

問題是對象的鏈接url被添加到當前url。我如何避免這種情況?

回答

2

嘗試導致URL以斜槓:

def link_url(self): 
      return "/polls/allcat/" +str(self.id) 
+0

我怎麼會想念那個。謝謝 – navyad

3

@garnertb的解決方案的工作,但你可能應該考慮使用reverse功能,而不是硬編碼您的網址。

喜歡的東西:

return reverse('detail_poll', self.id) 

這不僅會照顧斜線的,又避免麻煩,如果你曾經開始改變你的URL配置。

+0

我認爲這是正確的做法。 – karthikr

相關問題