2017-01-13 2 views
0

ich folgende Viewset (gleich in den Rest Framework docs) erhalten habe:PyCharm: debug Django übriges Viewset

class UserViewSet(viewsets.ViewSet): 

    def list(self, request): 
     queryset = User.objects.all() 
     serializer = UserSerializer(queryset, many=True) 
     return Response(serializer.data) 

ist dies Viewset Lassen Sie sagen, durch genannt wird: GET127.0.0.1:8000/api/user

I Haltepunkte setzen will und beobachte, wie der Code ausgeführt wird, wenn ich von meiner Web-Schnittstelle aus diesen Viewset anfordere. Aber ich verstehe nicht, wie ich meine Breakpoints zur Arbeit bringen soll.

Ich weiß, dass es möglich ist, django-Befehle zu debuggen (die von BaseCommand geerbt und von python manage.py <command_name> aufgerufen werden). Ich definiere einfach in Run/Debug configurations Skript - manage.py und Skriptparameter - <command_name> und alles funktioniert wie ein Charme.

Ist es möglich, meine Ansichten irgendwie zu debuggen? Ich möchte, dass mein Code an meinen Haltepunkten anhält, wenn ich meinen Viewset aufruft.

+0

Wenn Sie mit pycharm arbeiten, können Sie nach dem Ausführen des Debuggers auch [Haltepunkte setzen] (https://www.jetbrains.com/help/pycharm/2016.1/types-of-breakpoints.html), richtig? – AKS

+0

Beginnen Sie mit dem Debugging 'as_view' Ihrer Ansicht – dnit13

+0

@AKS und @ dnit13 Ich habe nicht beide Antworten verstanden. @AKS was ist der Punkt, hinter dem die Breakpoints umgeschaltet werden? @ dnit13 Wo soll 'as_view' verwendet werden? – Snobby

Antwort

1

Für eine PyCharm Fachmann:

  1. Run - Bearbeiten Konfigurationen
  2. Klicken Sie auf "+", wählen Sie "Django-Server"
  3. Namen eingeben ("Django Debug-Server"), Host (127.0.0.1) und port (8000), überprüfen Sie, ob der richtige Python-Interpreter ausgewählt ist, klicken Sie auf OK.
  4. Ausführen - Debuggen - Wählen Sie Ihre erstellte Debug-Konfiguration "Django Debug-Server".
  5. In der UserViewSet-Methode list() Haltepunkte für Ihren Fall festlegen. Rundherum, in allen Linien, um sicher zu sein.
  6. Öffnen Sie 127.0.0.1:8000/api/user in einem beliebigen Browser.
  7. Der Debugger sollte an den Haltepunkten anhalten.

P.S. In №5 können Sie tiefer gehen und Breakpoints für die Methode django.core.handlers.base get_response() festlegen, die Anforderungen an Ihren Server verarbeitet.

+0

Wooow, vielen Dank! Du bist toll! – Snobby

Verwandte Themen