{% url url_name %}
은 상대 이름을 제공합니다.django 템플릿에서 절대 URL로 이름을 바꾸는 방법은 무엇입니까?
{% absolute_url url_name %}
과 같은 방법으로 기본 (포트가있는 경우 포함) URL을 반환 할 수 있습니까?
{% url url_name %}
은 상대 이름을 제공합니다.django 템플릿에서 절대 URL로 이름을 바꾸는 방법은 무엇입니까?
{% absolute_url url_name %}
과 같은 방법으로 기본 (포트가있는 경우 포함) URL을 반환 할 수 있습니까?
다른 해결책이 있습니다. 자신 만의 templatetag을 작성하고 HttpRequest.build_absolute_uri(location)
을 사용하십시오. 그러나 다른 방법으로, 그리고 조금 해키.
<a href="{{ request.get_host }}{% url url_name %}">click here</a>
<a href="{{request.build_absolute_uri}}">click here</a>
시도 내가있는 경우 프로토콜, 호스트 및 포트 절대 URL를 출력하려면이 옵션을 사용하는 템플릿이 :
코드 블록만으로는 좋은 대답을 제공하지 못합니다. 설명을 추가하십시오 (문제가 발생한 이유, 실수가있는 위치 등). –
템플릿의 HttpRequest.build_absolute_uri() 메소드에 액세스하십시오. 이것은 {{request.get_host}} {% url url_name %} –
보다 쉽고 간단합니다. 이는 임의의'url_name'보다는 요청의 경로에만 관심이있는 경우에만 작동합니다. – Flimm
: 파이썬에서
<a href="{{ request.scheme }}://{{ request.get_host }}{% url url_name %}">link</a>
내가 사용
from django.core.urlresolvers import reverse
def do_something(request):
link = "{}://{}{}".format(request.scheme, request.get_host(), reverse('url_name', args=(some_arg1,)))
이것의 프로토콜? – Joost
https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.scheme이 문제를 해결하는 데 도움이됩니다. – Blackeagle52