Почему run вызывается дважды на сервере разработки Django?
Я хочу заставить сервер разработки Django что-то сделать, прежде чем он начнет работать. Для этого я создал новое приложение, добавил его в началоINSTALLED_APPS
, а затем создалmanagement/commands/runserver.py
файл в приложении со следующим кодом:
from django.contrib.staticfiles.management.commands.runserver import Command as RunserverCommand
class Command(RunserverCommand):
def run(self, *args, **options):
self.stdout.write('About to start running on ' + self.addr)
super(Command, self).run(*args, **options)
(Конечно, я на самом деле хочу сложнее, чем записать одну строку в стандартный вывод, но это самый простой пример, демонстрирующий проблему. Причина, по которой я переопределяюrun
, скорее, чемhandle
или какой-то другой метод, потому что мне нужноself.addr
быть уже установленным, когда этот код выполняется.)
Когда я бегу./manage.py runserver
строка «Начинается запуск на 127.0.0.1» появляется не один раз, а дважды, прежде чем сервер начнет работать. Почему это происходит и что с этим можно сделать?