Абсолютный URL в шаблоне Django - PullRequest
1 голос
/ 02 июля 2011

Я только начал использовать Django, поэтому моя очередь может быть глупой:)

У меня есть URL-адрес другого сайта в моей модели (TextField, othersite.com).Я пытаюсь отобразить его в шаблоне вот так <a href="{{ article.url }}" > Но хитрый Django дает мне <a href="http://mysite.com/articles/othersite.com" >

  1. Что мне сделать, чтобы получить <a href="othersite.com" >?
  2. Извините замой язык, если есть ошибки:)

Ответы [ 2 ]

4 голосов
/ 02 июля 2011

Ваш браузер вводит дополнительный текст вместо Django.Это происходит при отсутствии полного URL-адреса, чтобы избежать непредвиденного поведения.

Вы можете обойти эту проблему, исправив данные или изменив свой шаблон следующим образом:

<a href="http://{{ article.url }}" >
0 голосов
/ 12 июля 2017

Если все 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...