2016-07-12 13 views
0

Gibt es eine Möglichkeit, Befehlszeilenargumente mit django runscript an ein Skript zu übergeben? Das Skript, das ich ausführen möchte, verwendet argparse, um Befehlszeilenargumente zu akzeptieren.Übergeben von Befehlszeilenargumenten in django runscript

Kommandozeilen Ausführung des Skripts:

./consumer --arg1 arg1 --arg2 arg2 

Sowohl arg1 und arg2 erforderlich sind Optionen.

Wir haben versucht, script-args verwenden, aber nicht herausfinden, wie man es in diesem Zusammenhang verwenden.

+0

'runscript' kann kein Python-Skript ausführen, erfordert jedoch ein spezielles Skript, das eine' run (* args) '-Methode implementiert. Sie können auf diese Weise keine Argumente an das Skript übergeben. – Selcuk

Antwort

0

Werfen Sie einen Blick auf Djangos Commands

class Command(BaseCommand): 
    def add_arguments(self, parser): 
     parser.add_argument('--arg1', help="Something helpful") 

    def handle(self, *args, **options): 
     print options['arg1'] 

Und wenn Lauf:

$python manage.py your_command --arg1 arg 
arg 

Befehl gut für diese Art der Sache funktioniert, wie Selcuk sagte, können Sie Argumente nicht auf diese Weise verwenden Verwenden der RunScript-Erweiterung.