たとえば、settings.pyで定義するものは何でも
SITE_URL = 'http://www.mydomain.com'
次のコマンドを使用して、すべてのDjango関連コードでアクセスできます。
from django.conf import settings #this imports also your specific settings.py
print settings.SITE_URL
あるいは単にSite.objects.get_current().domain
テンプレートでアクセスできるようにする場合は、独自のテンプレートコンテキストプロセッサを作成します。これをmy_project/content_processor.pyに入れてください
from django.conf import settings
def my_site_url(request):
return {
'SITE_URL': settings.SITE_URL,
}
または、動的にしたい場合:
from django.conf import settings
def my_site_url(request):
return {
'SITE_URL': Site.objects.get_current().domain,
}
そして、settings.pyのTEMPLATE_CONTEXT_PROCESSORS変数に追加します。その後は次のようになります。
TEMPLATE_CONTEXT_PROCESSORS =("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"my_project.context_processors.my_site_url",
)
そして終了しました。