在没有TCP端口的情况下通过Flask调度URL

时间:2011-10-13 18:51:26

标签: python webkit flask hybrid

我想构建一个混合应用程序(嵌入在桌面应用程序中的Web技术)。

我将从Web版本开始并使用WebKit嵌入它,但我不希望嵌入式版本通过TCP端口为请求提供服务。

使用WebKit(Qt,Gtk),我可以拦截所有URL请求并对其进行操作。

我缺少的是一种在不通过TCP(或WSGI)的情况下调用Flask URL-to-callable调度程序的方法。

比使用调试器分析调用堆栈更好吗?

1 个答案:

答案 0 :(得分:2)

Simon Sapin回答了(非常活跃的)Flask邮件列表:

  

为什么不是WSGI?

     

你必须在某处获得Python解释器。然后你需要打电话   你的应用程序以某种方式来自WebKit的数据,就像URL一样   要求,并得到答复。 WSGI就是这样:一个呼唤   Python函数(或其他可调用对象)的约定。

     

如果WSGI比您想要的更复杂,您可以使用测试客户端:

           

这就是我在Frozen-Flask中的表现。它模拟对a的HTTP请求   WSGI级别的Flask应用程序并将响应写入静态文件。   测试客户端只是一种更简单的WSGI调用方式:

     

https://github.com/SimonSapin/Frozen-Flask/blob/master/flaskext/frozen/__init__.py#L228

     

WSGI确实是Flask的“切入点”。

     

除此之外,如果你对Flask内部工作感兴趣,那就开始吧   从这里看:

     

https://github.com/mitsuhiko/flask/blob/master/flask/app.py#L1477