2015-04-29 16 views
9

Po pierwsze, chcę powiedzieć, że jestem początkującym użytkownikiem Django.Django - Jak po prostu uzyskać nazwę domeny?

Szukam prostego sposobu na odzyskanie nazwy domeny mojej witryny Django.

Chcę to zrobić w moim pliku settings.py. Ja już próbowałem z gniazdem coś takiego:

socket.gethostname()

ale to nie działa poprawnie.

Odpowiedz

0
import platform 
platform.node() 

z docs:

„Zwraca nazwę sieciową komputera (może nie być w pełni wykwalifikowany!) W pusty ciąg jest zwracany, jeśli wartość nie może być ustalona.”.

+1

Mam tr Wątpliwości, jak to działa w przypadku wirtualnych hostów/bloków serwera. Czy to? Jeśli tak to jak? – rnevius

+0

Nie działa z hostami wirtualnymi. –

12

Jeśli masz obiekt żądania, wykonaj

request.META['HTTP_HOST'] 

To zwróci nazwę hosta

+6

Prawdopodobnie lepiej użyć 'request.get_host()' ([link do dokumentu] (https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.get_host)), ponieważ HTTP_HOST nie jest jedynym sposobem znalezienia nazwy hosta. –

Powiązane problemy