Sé cómo ejecutar comandos con PyCharm (Herramientas -> Ejecutar la tarea manage.py), pero también me gustaría depurarlos, incluidos mis comandos y los comandos de aplicaciones de terceros.
Si está intentando depurar los comandos manage.py (los de la carpeta app / management / commands /), puede usar la respuesta de @ Kevin, pero ponga manage.py en el "Script" y el comando que desea ejecutar "Parámetros de script".
RVC
Respuestas:
170
Puede depurar un comando de administración / gestión de Django personalizado en PyCharm creando una entrada de servidor Django personalizada en el menú Ejecutar / Depurar configuración:
Haga clic en Edit Configurations....
Haga clic en el signo más y elija Django server.
Complete los campos Namecomo desee, borre los campos Hosty Port, marque Custom run commande ingrese el nombre de su comando a la derecha de la casilla de verificación.
Ingrese cualquier argumento adicional de la línea de comandos en el campo separado Additional options, no agregado en el comando de ejecución.
Haga clic en Aceptar.
Ahora establezca un punto de interrupción, elija su nueva configuración en el menú Ejecutar / Depurar configuración y haga clic en el botón Depurar. Et voilà!
Énfasis para personas como yo que aparentemente no pueden leer correctamente: los campos Host y Port deben borrarse, de lo contrario, el comando personalizado no funcionará.
Henrik Heimbuerger
Lo siento, pero ¿qué se supone que debo poner en "comando de ejecución personalizado"? Llamé al mío "simple_chart" pero obtengo "comando desconocido" cuando trato de depurar. Tengo un método en views.py llamado simple_chart en el que he colocado un punto de interrupción. Todo lo que quiero es que el depurador se detenga allí para poder explorar las variables en el entorno local.
Viernes
1
No tengo la opción de servidor Django en el plus
Dejell
10
Para aquellos que están luchando: el cuadro "comando de ejecución personalizado" debe contener solo su comando. Por ejemplo, si está ejecutando py manage.py cmddesde la consola, este cuadro contendrá simplemente cmd.
Dado que borrar Host y Port no hará que el comando se ejecute en absoluto (PyCharm 5), la solución que encontré es usar una configuración de ejecución de Python en lugar de un servidor Django . Complete Scriptcon su script manage.py, otros parámetros Script Parametersy ajuste su entorno, como Working directory.
Esto es lo que hizo que funcionara para mí (pycharm 2016). Coloque manage.py en el script, su comando de administración de django en los parámetros del script (junto con cualquier indicador de comando de administración de django) y cambie el directorio de trabajo.
Yunti
-6
Después de instalar ipdb (pip install ipdb), ponga esas líneas en el punto de depuración:
Respuestas:
Puede depurar un comando de administración / gestión de Django personalizado en PyCharm creando una entrada de servidor Django personalizada en el menú Ejecutar / Depurar configuración:
Edit Configurations...
.Django server
.Name
como desee, borre los camposHost
yPort
, marqueCustom run command
e ingrese el nombre de su comando a la derecha de la casilla de verificación.Additional options
, no agregado en el comando de ejecución.Ahora establezca un punto de interrupción, elija su nueva configuración en el menú Ejecutar / Depurar configuración y haga clic en el botón Depurar. Et voilà!
fuente
py manage.py cmd
desde la consola, este cuadro contendrá simplementecmd
.Dado que borrar Host y Port no hará que el comando se ejecute en absoluto (PyCharm 5), la solución que encontré es usar una configuración de ejecución de Python en lugar de un servidor Django . Complete
Script
con su script manage.py, otros parámetrosScript Parameters
y ajuste su entorno, comoWorking directory
.fuente
Después de instalar ipdb (pip install ipdb), ponga esas líneas en el punto de depuración:
import ipdb ipdb.set_trace()
https://pypi.python.org/pypi/ipdb
fuente