2011-07-01 36 views
0

我使用Django的,所以我的quetion可能是愚蠢的:)绝对URL

我有一个URL到不同的网站在我的模型(文本字段,“othersite.com”)刚刚开始。我想在这样的<a href="{{ article.url }}" > 的模板来显示它,但Django的猫腻让我<a href="http://mysite.com/articles/othersite.com" >

  1. 我该怎么做才能<a href="othersite.com" >
  2. 对不起,我的语言,如果有任何错误:)

回答

4

您的浏览器进入,而不是Django的附加文本。这发生在没有完整的URL以避免意外的行为。

可以解决此问题通过固定数据,或通过修改你的模板是这样的:

<a href="http://{{ article.url }}" > 
+0

伟大的作品!非常感谢你! :) – Dmitriy

0

如果所有URL必须是绝对的,这可以通过使用自定义模板标签和过滤器来解决。

@register.filter 
@stringfilter 
def absoluteurl(url): 
    if "http" not in url: 
     return 'http://%s' % url 
    else: 
     return url 

然后,你可以简单地<a href="{{ article.url|absoluteurl }}" >

https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/