我在模板中有一些链接,我想指向特定网址。
在网址访问模板: loacalhost:8000 / account / profile
{% 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 / account / profile / polls / allcat / 1 而不是 loacalhost:8000 / polls / allcat / 1 与url模式匹配
url(r'^polls/(\w+)/(?P<pid>[-\d]+)/', 'pollsite.views.poll_detail', name='detail_poll'),
问题是对象的链接url被附加到当前url。我怎么能避免这个?
答案 0 :(得分:3)
@garnertb的解决方案有效,但您应该考虑使用reverse
函数而不是硬编码您的网址。
类似的东西:
return reverse('detail_poll', self.id)
这不仅可以处理前导斜杠,还可以避免在更改网址配置时出现问题。
答案 1 :(得分:2)
尝试使用正斜杠引导网址:
def link_url(self):
return "/polls/allcat/" +str(self.id)