Django - How to simply get domain name? [duplicate

2019-04-19 12:56发布

问题:

This question already has an answer here:

  • Django: get URL of current page, including parameters, in a template 6 answers

Firstly, I want to say that I'm a beginner in Django.

I'm looking for a simple way to retrieve the domain name of my Django website.

I want to do this in my settings.py. I've already tried with the socket something like this:

socket.gethostname()

but this doesn't work correctly.

回答1:

If you have a request object,do

request.META['HTTP_HOST']

This would return the hostname



回答2:

If you're using django.contrib.sites framework:

from django.contrib.sites.models import Site

your_domain = Site.objects.get_current().domain

Reference: https://docs.djangoproject.com/en/1.8/ref/contrib/sites/



回答3:

import platform
platform.node()

from the docs:

"Returns the computer’s network name (may not be fully qualified!). An empty string is returned if the value cannot be determined."