Warum wird run im Django-Entwicklungsserver zweimal aufgerufen?Python

Python-Programme
Guest
 Warum wird run im Django-Entwicklungsserver zweimal aufgerufen?

Post by Guest »

Ich möchte, dass der Django-Entwicklungsserver etwas tut, bevor er ausgeführt wird. Dazu habe ich eine neue App erstellt, sie oben zu INSTALLED_APPS hinzugefügt und dann in der App eine Datei „management/commands/runserver.py“ mit dem folgenden Code erstellt:

Code: Select all

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)
(Das, was ich eigentlich tun möchte, ist natürlich komplizierter als das Schreiben einer Zeile in stdout, aber dies ist das einfachste Beispiel, das das Problem demonstriert. Der Grund, warum ich Das Überschreiben von run anstelle von handle oder einer anderen Methode liegt daran, dass self.addr bereits festgelegt sein muss, wenn dieser Code ausgeführt wird.)

Wenn ich ./manage.py runserver ausführe, Die Zeile „About to start run on 127.0.0.1“ erscheint nicht nur einmal, sondern zweimal, bevor der Server mit dem Betrieb beginnt. Warum passiert das und was kann dagegen getan werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post