¿Por qué se ejecuta run dos veces en el servidor de desarrollo de Django?

Quiero hacer que el servidor de desarrollo de Django haga algo antes de que comience a ejecutarse. Para hacer esto, creé una nueva aplicación, la agregué a la parte superior deINSTALLED_APPS, y luego creó unmanagement/commands/runserver.py archivo en la aplicación con el siguiente código:

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)

(Lo que realmente quiero hacer es más complicado que escribir una línea en stdout, por supuesto, pero este es el ejemplo más simple que demuestra el problema. La razón por la que anulorun, más bien quehandle o algún otro método, es porque necesitoself.addr estar configurado cuando se ejecuta este código)

Cuando corro./manage.py runserver, la línea "A punto de comenzar a ejecutarse en 127.0.0.1" aparece no una vez, sino dos veces antes de que el servidor comience a ejecutarse. ¿Por qué sucede esto y qué se puede hacer al respecto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta