你如何在Flask中调试url路由?

时间:2014-03-15 02:38:42

标签: python flask visual-studio-2013

我正在使用Visual Studio 2013的PythonTools开发Flask网站,该网站有自己的调试器,这使我可以逐步完成初始设置代码,直至app.run()

但是我要调试的代码是路由代码,如下所示:

@app.route('/')
def url_index():
     return render_template('index.html') 

我知道该函数正在运行,因为服务器确实以index.html响应,但是如果我在最后一行放置一个断点,它就永远不会被命中。

有没有办法调试这些路由功能? Flask表示它附带一个调试器,但我该如何使用它?它是否与Visual Studio兼容?

4 个答案:

答案 0 :(得分:4)

6个月之后,虽然它仍然无法自动调试烧瓶中的URL路由,但您可以手动将调试器附加到烧瓶过程,但如果重新启动服务器则必须重新添加它或者如果自动重新加载器检测到.py文件中的更改并重新启动。

去吧: Tools -> Attach to Process 并选择 灰色的Python.exe(这是visual studio已经调试的初始烧录代码),然后做一些会导致断点的事情点击(例如重新加载页面),你应该有成功。

答案 1 :(得分:3)

对于Flask调试器,您可以将app.debug设置为True

app.debug = True

app.run(debug=True)

然后:

@app.route('/')
def index():
   raise
   return render_template('index.html') 

然后您可以在浏览器中使用Flask调试器调试该功能。

答案 2 :(得分:1)

可悲的是,当前版本的PTVS并不支持Flask项目。

好消息是:已经发布的PTVS 2.1 alpha会:http://pytools.codeplex.com/wikipage?title=Flask

答案 3 :(得分:1)

您可以使用

关闭使用调试模式重新加载

app.run(debug=True, use_reloader=False)

Flask error handling docs详细介绍了调试选项。