我是Django的新手,并且我正在尝试调试一段代码,该代码将空列表返回给模板,即使它应该返回包含项目的列表。有没有办法从views.py中将列表打印到控制台以进行调试?我显然无法运行python views.py
,因为我想要的信息存储在SQLite数据库中,但是如果我尝试在我正在使用的视图中包含print
语句,那么当我刷新页面(和服务器联系我的代码)。有解决方案吗?我环顾四周,找不到任何东西。
答案 0 :(得分:4)
首先,您从未使用python views.py
但是,您可以在控制台中看到打开的每个HTTP请求,以启动本地Django Web服务器。
如果您这样做,例如在index()
查看功能print
中,您应该可以直接在控制台中查看输出:
def index(request):
a_list = [1,2,3,4]
print a_list
return render(request, 'index.html', {'list':a_list})
询问您是否不清楚某些事情;)
答案 1 :(得分:3)
如果您使用 runserver 命令,您将在该命令提示符中看到print-statements的输出,例如实时日志记录。
答案 2 :(得分:2)
您可以在视图函数中包含调试行。你的views.py看起来像:
import pdb
def myview(request):
...
pdb.set_trace()
...
运行python manage.py runserver
并在浏览器中查询相应的网址时,您的命令行将停在pdb.set_trace()
上。然后,您可以探索并测试所需的一切。