[英]Visual Studio Code Django debugging breakpoints not triggered on Views and Templates
我正面臨 VsCode 的調試問題,它無法觸發任何類型的斷點(標准或日志),但特別是在 View 調用和模板上。 Django 項目結構的其他部分中的斷點工作正常。 例如在此代碼示例中:
class HomeView(TemplateView):
template_name = "home/home.html"
def get(self, request, *args, **kwargs):
return render(request, self.template_name, {})
構造 Class 時將成功觸發template_name = "home/home.html"
上的斷點。 然而, return render(request, self.template_name, {})
上的斷點永遠不會觸發(我希望它在用戶導航到 class 呈現的 URL 時觸發)。
我已經嘗試過的幾件事:
4 個月大的時間線是因為我上次使用 Django 並調試 Views 大約是 4 個月前,所以我想我會嘗試這些版本。 我相當肯定這在我上次嘗試時有效,但我可能弄錯了。
作為參考,我使用的是標准的 Django 啟動配置。 我嘗試更改一些選項,例如--noreload
和stopOnEntry
,但這並沒有影響結果。 復制下面的配置文件以供參考:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Django",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}\\manage.py",
"args": [
"runserver"
],
"django": true
}
]
}
此外,在模板中設置斷點也不會觸發,並且在 get 方法調用的 function 中設置斷點不會觸發(基本上是 View 調用后的任何內容)。
我從文檔中看到的所有內容都表明這應該有效,而且我認為它曾經如此。 這次我錯過了什么或發生了什么變化?
終於想通了。 幾周前,我為一個項目安裝了 gevent ( pip install gevent
)。 這樣做將GEVENT_SUPPORT=True
添加到我的環境變量中。 啟用后,這會阻止 VsCode 調試 Python 標准庫的線程模塊。 將此變量更改為False
為我修復了它(當然我此時沒有使用 gevent)。
可以在此處找到有關此問題的更多信息: https://github.com/microsoft/debugpy/issues/189
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.