Je sais comment exécuter des commandes avec PyCharm (Outils -> Exécuter la tâche manage.py), mais je voudrais également les déboguer, y compris mes commandes et celles d'applications tierces.
Réponses
Trop de publicités?Vous pouvez déboguer une commande d'administration/gestion personnalisée de Django dans PyCharm en créant une entrée de serveur Django personnalisé dans le menu Exécuter/Déboguer la configuration :
- Cliquez sur
Edit Configurations...
. - Cliquez sur le signe plus et choisissez
Django server
. - Remplissez le
Name
comme vous le souhaitez, effacez leHost
yPort
les champs, vérifierCustom run command
et entrez le nom de votre commande dans le champ à droite de la case à cocher. - Saisissez tout argument supplémentaire de la ligne de commande dans le champ séparé.
Additional options
n'est pas ajouté à la commande d'exécution. - Cliquez sur OK.
Maintenant, définissez un point d'arrêt, choisissez votre nouvelle configuration dans le menu Run/Debug Configuration et cliquez sur le bouton Debug. Et voilà !
Étant donné que le fait d'effacer l'hôte et le port ne permet pas d'exécuter la commande (PyCharm 5), la solution que j'ai trouvée est d'utiliser une balise Python au lieu d'une configuration d'exécution Serveur Django . Remplir Script
avec votre script de manage.py, les autres paramètres dans Script Parameters
et ajustez votre environnement comme Working directory
.
J'explique en utilisant ma commande Django personnalisée suivante :
python manage.py execute_algorithm -f input_data.json
Étapes de la configuration de la commande Django : Étape : Depuis la barre d'outils de Django, allez dans :
Exécuter > Modifier les configurations
Cliquez sur l'icône "+" en haut à gauche, pour créer une nouvelle commande >. sélectionnez 'Django server' dans la liste déroulante.
Remplissez les détails suivants :
Nom : tout nom adéquat que vous souhaitez donner à cette configuration, par ex. commande_algorithme d'exécution
Hôte : Clair le champ
Port : C'est 8000 par défaut, clair il.
Commande d'exécution personnalisée : Cochez cette case fist. Indiquez-y le nom de votre commande. Vous pouvez l'obtenir à partir de
apps/module/management/command/execute_algorithm
. Par exemple, la valeur : exécuter_algorithmeOptions supplémentaires : Tout ce qui est là, après le nom de la commande. La valeur est : -f données_d'entrée.json