Способ Django определенно состоит в том, чтобы иметь отдельные установки с собственным именем базы данных (# 1). # 2 потребует немалых взломов с ORM, и даже тогда я не совсем уверен, что это вообще возможно.
Но учтите, вам не нужна ВЕСЬ новая установка всех моделей / видов / шаблонов сайта для каждого пользователя, просто новый файл settings.py со всеми соответствующими путями к общим исходным файлам. Кроме того, чтобы запустить все эти установки в Apache, сделайте это так, как я здесь:
<VirtualHost 1.2.3.4>
DocumentRoot /www/site1
ServerName site1.com
<Location />
SetHandler python-program
SetEnv DJANGO_SETTINGS_MODULE site1.settings
PythonPath "['/www'] + sys.path"
PythonDebug On
PythonInterpreter site1
</Location>
</VirtualHost>
<VirtualHost 1.2.3.4>
DocumentRoot /www/site2
ServerName site2.com
<Location />
SetHandler python-program
SetEnv DJANGO_SETTINGS_MODULE site2.settings
PythonPath "['/www'] + sys.path"
PythonDebug On
PythonInterpreter site2
</Location>
</VirtualHost>
при условии, что у вас есть /www/site1/settings.py, www / site2 / settings.py и так далее ...
Конечно, теперь вам нужно иметь основной сайт, на котором люди входят в систему, который затем перенаправляет вас на соответствующий сайт (здесь я просто обозначил его как "site1.com", "site2.com", но вы получить представление.)