[PYTHON] Hinzufügen von Optionen zum run.ver-Manager von Django

Was ich versucht habe zu tun

./manage.py runserver (--option)← Hier Optionen hinzufügen

-Ich möchte eine neue Verarbeitung hinzufügen und gleichzeitig den vorhandenen Vorgang im Runserver beibehalten

Befehl überschreiben

App Name/management/commands/runserver.py



from django.contrib.staticfiles.management.commands.runserver import Command as RunCommand

class Command(RunCommand):
       
       help = "Befehl selbst(runserver)Erklärung usw."

       def add_arguments(self, parser):
           super().add_arguments(parser)
        
           parser.add_argument(
            'Optionsname',    help='--Der Satz, der beim Helfen neben der Option angezeigt wird'
        )
      
      def handle(self, *args, **options):

          #Hier verarbeiten

          super().handle(*args, **options)

-Im Argument von * parser.add_argument * können Sie festlegen, ob für die zu erstellende Befehlsoption ein Argument erforderlich ist. ・ Es gibt andere Elemente, die mit Argumenten festgelegt werden können

Es wird nicht erkannt, selbst wenn ich einen Befehl eingebe (er erscheint nicht in --help).

Lösung

-Es scheint, dass die hier erstellte App höher sein muss als die App, die in den Einstellungen von INSTALLED_APPS überschrieben wird. (Siehe [hier] für Details (https://docs.djangoproject.com/de/2.2/howto/custom-management-commands/#overriding-commands))

INSTALLED_APPS = [
    'app', #Veränderung
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Kam heraus

・ Fügen Sie diesmal mit --example hinzu


 ./manage.py runserver --help
usage: manage.py runserver [-h] [--ipv6] [--nothreading] [--noreload]
                           [--nostatic] [--insecure] [--example] [--version]
                           [-v {0,1,2,3}] [--settings SETTINGS]
                           [--pythonpath PYTHONPATH] [--traceback]
                           [--no-color] [--force-color]
                           [addrport]

Starts a lightweight Web server for development and also serves static files.

positional arguments:
  addrport              Optional port number, or ipaddr:port

optional arguments:
  -h, --help            show this help message and exit
  --ipv6, -6            Tells Django to use an IPv6 address.
  --nothreading         Tells Django to NOT use threading.
  --noreload            Tells Django to NOT use the auto-reloader.
  --nostatic            Tells Django to NOT automatically serve static files
                        at STATIC_URL.
  --insecure            Allows serving static files even if DEBUG is False.
  --example             #Dies ist die Option, die dieses Mal hinzugefügt wurde
  --version             show program's version number and exit
  -v {0,1,2,3}, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
  --settings SETTINGS   The Python path to a settings module, e.g.
                        "myproject.settings.main". If this isn't provided, the
                        DJANGO_SETTINGS_MODULE environment variable will be
                        used.
  --pythonpath PYTHONPATH
                        A directory to add to the Python path, e.g.
                        "/home/djangoprojects/myproject".
  --traceback           Raise on CommandError exceptions
  --no-color            Don't colorize the command output.
  --force-color         Force colorization of the command output.

Recommended Posts

Hinzufügen von Optionen zum run.ver-Manager von Django
[Python] [Django] Verwendung des Auswahlfelds und Hinzufügen von Optionen
So bedienen Sie GeoIp2 von Django
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
Fügen Sie den benutzerdefinierten Befehlen von Django Parameter hinzu
So fügen Sie ein AWS EBS-Volume hinzu
So fügen Sie ein Paket mit PyCharm hinzu
Verwendung von ManyToManyField mit Djangos Admin
So fügen Sie der Anaconda-Umgebung ein Python-Modul hinzu
So zeigen Sie Bilder in Djangos Admin an
So fügen Sie einen Suchpfad für Python-Module hinzu
Wie füge ich eine Anaconda Powershell-Eingabeaufforderung zum Windows-Terminal hinzu?
[ESXi (vCenter)] Hinzufügen einer Netzwerkkarte für CentOS 7.3
So legen Sie das Schema in den Django-Datenbankeinstellungen fest
So fügen Sie HDA Hilfe hinzu (mit Python-Skriptbonus)
So erhalten Sie einen angemeldeten Benutzer mit Djangos forms.py
Problemumgehung für Djangos Vorlage existiert nicht
Verwendung der Exist-Klausel in Django Queryset
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
[Morphologische Analyse] So fügen Sie Mecab ein neues Wörterbuch hinzu
So fügen Sie dem Balkendiagramm von matplotlib einen Farbbalken hinzu
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Wie man Shogun benutzt
Verwendung von Pandas 2
Wie man PyPI liest
So installieren Sie pip
Verwendung von Virtualenv
Verwendung von numpy.vectorize
So aktualisieren Sie easy_install
So installieren Sie archlinux
Verwendung von pytest_report_header
Wie man Gunicorn neu startet
So installieren Sie Python
Wie zum virtuellen Host
Wie man Selen debuggt
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Wie man JSON liest
Verwendung von SymPy
Wie man x-means benutzt
So aktualisieren Sie Spyder
Verwendung von IPython
So installieren Sie BayesOpt
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Wie man Dotfiles züchtet
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
"Wie man Fukashigi zählt"
So installieren Sie Nbextensions
Verwendung von OptParse
Verwendung von return