0
Я хочу сократить URL-адреса с помощью bit.ly через шаблон django. Я написал приведенные ниже коды templatetag, но я получаю следующую ошибку: Кажется, она не может понять весь день!ValueError: Unkown url type in Django
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' %}
После после того, что вы сказали, я поставил REQ = urllib.quote (endpoint.format (long_url)), и я получаю ошибку «tuple index out the range» – picomon
Я думаю, что ключ доступа должен быть включен? для его сокращения URL. Пожалуйста, еще раз объясните, что вы на самом деле имели в виду. – picomon
Ваша кодировка части протокола URL, если вы этого не сделаете. Вот почему «api-ssl.bitly.com»; выглядит так: «https% 3A // api-ssl.bitly.com» 'endpoint = 'https://api-ssl.bitly.com/v3/shorten?access_token=%s&longUrl=%s&format=txt'% (settings.ACCESS_KEY, urllib.quote (long_url)) return urlopen (конечная точка) .read() ' – toad013