Вы можете сделать это самостоятельно:
- Создайте команду управления для запроса вашего нового сайта
- подключите его к сигналу
post_syncdb
Команда позволит вам удобно настроить сайт из командной строки. Подключение его к сигналу будет означать, что вы получите запрос при установке приложения sites
. например:
from django.contrib.sites import models as sites_app
signals.post_syncdb.connect(create_site, sender=sites_app)
При написании функции create_site
(обработчик сигнала) вы можете скопировать подход модуля auth
почти точно:
def create_site(app, created_models, verbosity, **kwargs):
from django.contrib.sites.models import Site
from django.core.management import call_command
if Site in created_models and kwargs.get('interactive', True):
msg = "\nYou just installed Django's sites system, which means you don't have " \
"any sites defined.\nWould you like to create one now? (yes/no): "
confirm = raw_input(msg)
while 1:
if confirm not in ('yes', 'no'):
confirm = raw_input('Please enter either "yes" or "no": ')
continue
if confirm == 'yes':
call_command("createsite", interactive=True)
break
Теперь вам просто нужно создать команду управления createsite
и все готово. Я удивляюсь, почему этого нет в Django, но я ненавижу example.com.
Поместите все это в маленькое приложение и используйте его для каждого вашего проекта. Бонусные баллы, если вы разместите приложение где-нибудь, например, в коде Google или трекере ошибок Django.