django - Django 登录到 wxpython 窗口?
问题描述
我正在编写一个实用程序来启动一个 django 服务器进程,该进程将其日志输出到 wxpython 窗口中的 TextCtrl。不幸的是,一些不同的方法导致了一些奇怪的问题,即操作系统(在本例中为 OSX)在几次成功的日志条目后使程序崩溃并抱怨“非法指令”。
我目前正在通过实现一个 logging.Handler 子类来做到这一点,该子类将事件发布到 wx,其中包含要在窗口中显示的日志记录。有更好的方法吗?
谢谢!
解决方案
wxPython 要求它是主线程,所以我猜这可能是您的问题的根本原因。不过,您有几个很好的方法可以尝试。
首先,您可以将 Django 服务器进程作为 wxPython 程序中的线程启动。然后,您可以使用 wxPython 的线程安全方法 ( wx.CallAfter
, wx.PostEvent
) 与 UI 进行通信。
或者你可以单独启动 Django 并记录到一个文件中。然后启动 wxPython 并让它基本上跟踪日志文件。
推荐阅读
- c++ - 从 3 的 std::vector 到 pcl::PointCloud
::点? - python - 合并排序算法为大数字抛出“列表索引超出范围”
- r - lmer 按变量内的特定级别提供 p 值
- python - ImportError:无法从“google.cloud”导入名称“tasks_v2”
- javascript - 发布请求需要发送哪些标头
- react-native - 使用 React Native 电话号码输入验证电话号码?
- checkbox - 模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器一起使用
- python - 稀有对象的python类型注释
- xamarin - Xamarin Forms iOS 远程通知不显示
- r - 如何过滤R中数据框中列表中的值?