Это то же самое, что и я. Я позаимствовал у http://michal.karzynski.pl/blog/2010/10/19/run-multiple-websites-one-django-project/
По сути, вы создадите запись виртуального хоста в файле http.conf для каждого домена.
# Virtual hosts setup
NameVirtualHost *
<VirtualHost *>
ServerName example1.com
WSGIDaemonProcess APPLICATION_NAME processes=5 python-path=/home/USERNAME/webapps/APPLICATION_NAME:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1
WSGIScriptAlias / /home/USERNAME/webapps/APPLICATION_NAME/domain1.wsgi
</VirtualHost>
<VirtualHost *>
ServerName example2.com
WSGIDaemonProcess APPLICATION_NAME_www processes=5 python-path=/home/USERNAME/webapps/APPLICATION_NAME:/home/USERNAME/webapps/APPLICATION_NAME/lib/python2.6 threads=1
WSGIScriptAlias / /home/USERNAME/webapps/APPLICATION_NAME/domain2.wsgi
</VirtualHost>
Затем вы захотите создать два разных файла wsgi для каждого домена и поместить их в каталог, в котором находится ваш проект. WSGIScriptAlias - это путь к файлу wsgi, поэтому убедитесь, что они совпадают ...
Пример файла Wsgi:
import os
import sys
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'PROJECT_NAME.domain1_settings' # or PROJECT_NAME.domain2_settings
application = WSGIHandler()
Тогда вы захотите создать два дополнительных файла настроек ... так что у вас будет
settings.py
domain1_settings.py
domain2_settings.py
domain1_settings.py и domain2_settings.py будут импортировать settings.py:
пример domain1_settings.py:
from settings import *
SITE_ID = 1
ROOT_URLCONF = 'domain1_urls'
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
# other apps specific to this domain
)
Наконец, вы захотите создать два отдельных файла urls ..
domain1_urls.py и domain2_urls.py
domain1_urls.py будет использоваться по умолчанию для site_id 1, а domain2_urls.py будет использоваться по умолчанию для site_id 2.