Jak debugować polecenia Django w PyCharm

84

Wiem, jak uruchamiać polecenia w PyCharm (Narzędzia -> Uruchom manage.py Zadanie), ale chciałbym je również debugować, w tym moje polecenia i polecenia aplikacji innych firm.

Taras Bilynskyi
źródło
Jeśli próbujesz debugować polecenia manage.py (te w app / management / commands / folder), możesz użyć odpowiedzi @ Kevina, ale wstaw manage.py w polu „Script” i polecenie, które chcesz uruchomić w „Parametry skryptu”.
RVC

Odpowiedzi:

170

Możesz debugować niestandardowe polecenie administratora / zarządzania Django w PyCharm, tworząc niestandardowy wpis serwera Django w menu Uruchom / Debuguj Konfiguracja:

  • Kliknij Edit Configurations....
  • Kliknij znak plus i wybierz Django server.
  • Wypełnij, Namejak chcesz, wyczyść pola Hosti Port, zaznacz Custom run commandi wprowadź nazwę swojego polecenia po prawej stronie pola wyboru.
  • Wprowadź dodatkowe argumenty wiersza polecenia w oddzielne pole Additional options, nie dołączane w poleceniu uruchomienia.
  • Kliknij OK.

Teraz ustaw punkt przerwania, wybierz nową konfigurację z menu Uruchom / Debuguj konfigurację i kliknij przycisk Debuguj. Gotowe!

Kevin
źródło
20
Podkreślenie dla ludzi takich jak ja, którzy najwyraźniej nie potrafią poprawnie czytać: pola Host i Port muszą zostać wyczyszczone, w przeciwnym razie niestandardowe polecenie nie zadziała!
Henrik Heimbuerger
Przepraszam, ale co mam umieścić w „niestandardowym poleceniu uruchamiania?” Nazwałem mój „simple_chart”, ale podczas próby debugowania otrzymuję „nieznane polecenie”. Mam metodę w views.py o nazwie simple_chart, w której umieściłem punkt przerwania. Chcę tylko, aby debugger się tam zatrzymał, aby móc zbadać zmienne w środowisku lokalnym.
Frikster
1
Nie mam opcji serwera Django na
plusie
10
Dla tych, którzy mają problemy: pole „custom run command” powinno zawierać tylko twoje polecenie. Np. Jeśli korzystasz py manage.py cmdz konsoli, to pole będzie zawierać po prostu cmd.
texnic
1
@Dejell: potrzebujesz profesjonalnej wersji Pycharm do obsługi DJANGO. ( jetbrains.com/pycharm/features/editions_comparison_matrix.html )
PeterN,
8

Ponieważ wyczyszczenie hosta i portu nie spowoduje, że polecenie w ogóle się uruchomi (PyCharm 5), rozwiązaniem, które znalazłem, jest użycie konfiguracji uruchamiania Pythona zamiast serwera Django . Wypełnij Scriptskryptem manage.py, innymi parametrami Script Parametersi dostosuj środowisko, takie jak Working directory.

Monitor ryb
źródło
2
To właśnie sprawiło, że u mnie działa (pycharm 2016). Umieść manage.py w skrypcie, polecenie zarządzania django w parametrach skryptu (razem z dowolnymi flagami poleceń django mangement) i zmień katalog roboczy.
Yunti