How can I get the domain name of my site within a Django template? How can I get the domain name of my site within a Django template? python python

How can I get the domain name of my site within a Django template?


If you want the actual HTTP Host header, see Daniel Roseman's comment on @Phsiao's answer. The other alternative is if you're using the contrib.sites framework, you can set a canonical domain name for a Site in the database (mapping the request domain to a settings file with the proper SITE_ID is something you have to do yourself via your webserver setup). In that case you're looking for:

from django.contrib.sites.models import Sitecurrent_site = Site.objects.get_current()current_site.domain

you'd have to put the current_site object into a template context yourself if you want to use it. If you're using it all over the place, you could package that up in a template context processor.


I think what you want is to have access to the request context, see RequestContext.