Как мне получить доменное имя моего текущего сайта из шаблона Django? Я пробовал искать теги и фильтры, но там ничего нет.
В шаблоне Django вы можете сделать:
<a href="{{ request.scheme }}://{{ request.META.HTTP_HOST }}{{ request.path }}?{{ request.GET.urlencode }}" >link</a>
А как насчет этого подхода? Работает для меня. Он также используется в django-регистрация .
def get_request_root_url(self): scheme = 'https' if self.request.is_secure() else 'http' site = get_current_site(self.request) return '%s://%s' % (scheme, site)
from django.contrib.sites.models import Site if Site._meta.installed: site = Site.objects.get_current() else: site = RequestSite(request)
Вы можете использовать {{ protocol }}://{{ domain }} в своих шаблонах для получения вашего доменного имени.
{{ protocol }}://{{ domain }}