ValueError:Django中未知的url类型

时间:2013-10-11 16:10:43

标签: python django

我想通过django模板用bit.ly缩短网址。我写下了下面的模板标签代码,但是我收到了以下错误:似乎无法全天弄明白!

ValueError: unkown url type:unknown url type: https%3A//api- ssl.bitly.com/v3/shorten%3Faccess_token%3DR_b622c9b2d53899697d6a78c088895f20%26longUrl%3Dhttp%3A//www.google.com%26format%3Dtxt




@register.simple_tag
def bitlys(long_url):
     endpoint='https://api-ssl.bitly.com/v3/shorten?access_token={0}&longUrl={1}&format=txt'
     req= urllib.quote(endpoint.format(settings.ACCESS_KEY, long_url))
     return urlopen(req).read()

模板

{% bitlys 'http://www.manman.com' %}

1 个答案:

答案 0 :(得分:1)

你可能只想引用long_url而不是整个字符串

endpoint = 'https://api-ssl.bitly.com/v3/shorten?access_token={0}&longUrl={1}&format=txt'
req = endpoint.format(settings.ACCESS_KEY, urllib.quote(long_url))
return urlopen(req).read()