Ich weiß, wie man Befehle mit PyCharm ausführt (Extras -> Task "manage.py ausführen"), möchte sie aber auch debuggen, einschließlich meiner Befehle und der Befehle der Drittanbieter-App.
Wenn Sie versuchen, die Befehle "manage.py" zu debuggen (die in app / management / command / folder), können Sie die Antwort von @ Kevin verwenden, aber im "Skript" die Datei "manage.py" und den Befehl eingeben, in dem Sie ausgeführt werden möchten "Skriptparameter".
RVC
Antworten:
170
Sie können einen benutzerdefinierten Django-Administrator- / Verwaltungsbefehl in PyCharm debuggen, indem Sie einen benutzerdefinierten Django-Servereintrag im Menü Konfiguration ausführen / debuggen erstellen:
Klicken Sie auf Edit Configurations....
Klicken Sie auf das Pluszeichen und wählen Sie Django server.
Füllen Sie das , Namewie Sie bitte, deaktivieren Sie das Hostund PortFelder, Kontrolle Custom run commandund geben Sie rechts von der Checkbox den Namen des Befehls.
Geben Sie zusätzliche Befehlszeilenargumente in das separate Feld ein Additional options, das nicht im Befehl run angehängt ist.
OK klicken.
Legen Sie nun einen Haltepunkt fest, wählen Sie Ihre neue Konfiguration aus dem Menü Konfiguration ausführen / debuggen und klicken Sie auf die Schaltfläche Debuggen. Et voilà!
Schwerpunkt für Leute wie mich, die anscheinend nicht richtig lesen können: Die Felder Host und Port müssen gelöscht werden, sonst funktioniert der benutzerdefinierte Befehl nicht!
Henrik Heimbuerger
Entschuldigung, aber was soll ich in "Benutzerdefinierter Ausführungsbefehl" einfügen? Ich habe mein "simple_chart" aufgerufen, aber beim Debuggen erhalte ich den "unbekannten Befehl". Ich habe in views.py eine Methode namens simple_chart, in die ich einen Haltepunkt eingefügt habe. Ich möchte nur, dass der Debugger dort anhält, damit ich die Variablen in der lokalen Umgebung untersuchen kann.
Frikster
1
Ich habe keine Django Server Option im Plus
Dejell
10
Für diejenigen, die Probleme haben: Das Feld "Benutzerdefinierter Ausführungsbefehl" sollte nur Ihren Befehl enthalten. Wenn Sie beispielsweise py manage.py cmdvon der Konsole aus laufen , enthält diese Box einfach cmd.
Da durch das Löschen von Host und Port der Befehl überhaupt nicht ausgeführt wird (PyCharm 5), habe ich die Lösung gefunden, eine Python- Ausführungskonfiguration anstelle eines Django-Servers zu verwenden . Füllen ScriptSie das Skript "manage.py" und andere Parameter aus Script Parametersund passen Sie Ihre Umgebung an, z Working directory.
Das hat es für mich zum Laufen gebracht (pycharm 2016). Fügen Sie manage.py in das Skript ein, Ihren django-Verwaltungsbefehl in die Skriptparameter (zusammen mit allen Befehlsflags für django mangement) und ändern Sie das Arbeitsverzeichnis.
Yunti
-6
Nach der Installation von ipdb (pip install ipdb) setzen Sie diese Zeilen auf den Debug-Punkt:
Antworten:
Sie können einen benutzerdefinierten Django-Administrator- / Verwaltungsbefehl in PyCharm debuggen, indem Sie einen benutzerdefinierten Django-Servereintrag im Menü Konfiguration ausführen / debuggen erstellen:
Edit Configurations...
.Django server
.Name
wie Sie bitte, deaktivieren Sie dasHost
undPort
Felder, KontrolleCustom run command
und geben Sie rechts von der Checkbox den Namen des Befehls.Additional options
, das nicht im Befehl run angehängt ist.Legen Sie nun einen Haltepunkt fest, wählen Sie Ihre neue Konfiguration aus dem Menü Konfiguration ausführen / debuggen und klicken Sie auf die Schaltfläche Debuggen. Et voilà!
quelle
py manage.py cmd
von der Konsole aus laufen , enthält diese Box einfachcmd
.Da durch das Löschen von Host und Port der Befehl überhaupt nicht ausgeführt wird (PyCharm 5), habe ich die Lösung gefunden, eine Python- Ausführungskonfiguration anstelle eines Django-Servers zu verwenden . Füllen
Script
Sie das Skript "manage.py" und andere Parameter ausScript Parameters
und passen Sie Ihre Umgebung an, zWorking directory
.quelle
Nach der Installation von ipdb (pip install ipdb) setzen Sie diese Zeilen auf den Debug-Punkt:
import ipdb ipdb.set_trace()
https://pypi.python.org/pypi/ipdb
quelle