Django | Debugging Django-App in VS Code
See here how to configure VS Code:
- Switch to Run view in VS Code (using the left-side activity bar or F5). You may see the message
“To customize Run and Debug create a launch.json file”.
This means that you don’t yet have alaunch.json
file containing debug configurations. VS Code can create that for you if you click on the create a launch.json file link:
- Select the link and VS Code will prompt for a debug configuration. Select Django from the dropdown and VS Code will populate a new
launch.json
file with a Django run configuration.
Thelaunch.json
file contains a number of debugging configurations, each of which is a separate JSON object within theconfiguration
array.
- Scroll down to and examine the configuration with the name “Python: Django”:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Django", "type": "python", "request": "launch", "program": "${workspaceFolder}\\manage.py", "args": ["runserver"], "django": true, "justMyCode": true } ] }
- This configuration tells VS Code to run
"${workspaceFolder}/manage.py"
using the selected Python interpreter and the arguments in theargs
list.
Launching the VS Code debugger with this configuration, then, is the same as runningpython manage.py runserver
in the VS Code Terminal with your activated virtual environment. (You can add a port number like"5000"
toargs
if desired.)
The"django": true
entry also tells VS Code to enable debugging of Django page templates, which you see later in this tutorial.
- Test the configuration by selecting the Run > Start Debugging menu command, or selecting the green Start Debugging arrow next to the list (F5):
- Ctrl+click the
http://127.0.0.1:8000/
URL in the terminal output window to open the browser and see that the app is running properly.
- Close the browser and stop the debugger when you’re finished. To stop the debugger, use the Stop toolbar button (the red square) or the Run > Stop Debugging command (Shift+F5).
- You can now use the Run > Start Debugging at any time to test the app, which also has the benefit of automatically saving all modified files.