使用Django但不使用网络服务器

16 投票
2 回答
4933 浏览
提问于 2025-04-16 16:49

我正在写一个聚合客户端,目的是为了让设备有一个客户端,同时网站也能实现相同的功能。我决定用Django来开发这个网站;客户端则会用Python写,包含一个命令行界面和一个PyQt4的图形界面。我现在先写客户端,客户端的功能比较依赖数据库,因为所有数据都缓存起来,这样即使离线也能读取。

今天我突然想到,使用Django的模型来构建我的应用会比较合理,这样可以减少客户端和网站之间重复的工作。我想知道,把这两者分开有多简单,以及在我的客户端中使用Django模型需要多少Django的内容。根据我所知道的,我应该不需要运行服务器,但还需要什么呢?我有个想法是为我的客户端生成和网站一样的HTML,但用Qt的组件来显示,而不是给浏览器提供网页。

有没有人尝试过这种做法?我已经开始着手这个项目了,但如果能提前知道一些可能的坑或者会让维护变得麻烦的事情,那就太好了……

2 个回答

0

你还是需要把Django应用当作一个网络服务器来运行,不过你可以限制它只对本地机器(localhost)提供服务,或者其他类似的设置。而且,没问题,你可以用QtWebKit作为客户端。

21

了解一下独立的Django脚本,你就能走上成功之路。其实你要做的就是引用Django的设置文件settings.py(这是Django所期望的),然后在没有网页视图或网址的情况下使用模型

如果你只是想用Django的ORM来管理你的模型和数据库交互,或许你可以考虑使用SQLAlchemy

撰写回答