VSCode Debug — добавить команду при запуске для django?

#python #django #visual-studio-code #vscode-settings #vscode-debugger

#python #django #visual-studio-code #vscode-отладчик

Вопрос:

Недавно я начал использовать VSCode для отладки с Django, и это сработало довольно хорошо.

Я использую систему для управления переменными среды, однако для этого требуется использовать ее ключевое слово first ( keys python manage.py runserver )

Отладка отлично работает для запуска стандартной установки Django, но, похоже, я не могу заставить отладчик python выполнить приведенное выше утверждение.

В моем launch.json я попробовал несколько конфигураций, таких как следующие:

 # launch.json
    {
        "name": "Python: Django",
        "type": "python",
        "request": "launch",
        "preLaunchTask": "keys-run",
        "program": "${workspaceFolder}/manage.py",
        "args": [
            "runserver"
        ],
        "django": true
    }
# tasks.json
    {
        "type": "shell",
        "label": "keys-run",
        "command": "keys"
    }
  

Я тоже пробовал это:

     {
        "name": "Python: Django",
        "type": "python",
        "request": "launch",
        "program": "keys",
        "args": [
            "python", "manage.py", "runserver"
        ],
        "django": true
    }
  

Вторая конфигурация выдает мне сообщение об ошибке, что такого файла или каталога нет ‘/home/username/project_directory /keys’

Но из командной строки (zsh) я могу запустить команду: keys python manage.py runserver и она загружает мои переменные среды, как и должно быть, затем загружается и запускает django без проблем.

Каков наилучший способ передать это в отладчик VSCode?

Комментарии:

1. -Как понять «похоже, не удается заставить отладчик python выполнить приведенное выше утверждение». Вы пробовали использовать «python manage.py runserver»? Я выполняю «python manage.py runserver» в терминале, и это показывает, что соединение выполнено успешно.

2. Да, я могу запустить ‘python manage.py runserver» в терминале без проблем. Я также могу запустить ‘keys python manage.py запустите сервер» в терминале, и он работает. Однако я пытаюсь использовать встроенный отладчик VS-Code. Это работает, если я хочу запустить его без ключей…. но мне нужны ключи, чтобы быть первым словом.

Ответ №1:

Не могли бы вы вместо этого использовать переменные среды? Вот пример того, как у меня есть триггерная переменная (via "env" ) для включения / выключения панели инструментов отладки Django:

 {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "env": {"DJDT": "1"},
            "program": "${workspaceFolder}/manage.py",
            "args": [
                "runserver",
                "0:8047",
            ],
            "django": true
        }
    ]
}
  

Если вы не можете заставить это работать, о чем "program": "${workspaceFolder}/keys manage.py" ?

Комментарии:

1. Привет — спасибо за ответ! К сожалению, мне не повезло в любом случае. По какой-то причине просто не нужно запускать «ключи» перед «python manage.py runserver’ — возможно, это просто невозможно, и я застрял без отладки, если хочу использовать ключи.