如何将Django网页应用转换为桌面应用程序

3 投票
8 回答
8912 浏览
提问于 2025-04-16 09:42

如何把用Django和Python开发的网站转换成桌面应用程序?我对Python和Django还很陌生,能不能请你们帮帮我?

提前谢谢你们!

8 个回答

2

我会尝试用PyQt工具包来实现Django应用的功能。

其实,你可以在PyQt应用中嵌入网页内容,这要靠QtWebKit来帮忙。我想分享一些可能有用的链接,但看起来我的信誉太低,不能发超过一个链接呢 :)

3

你可以通过一些代码把一个Django应用转换成桌面应用,使用的是pywebview。首先,在manage.py所在的文件夹里创建一个叫gui.py的Python文件。然后通过pip安装pywebview,接着在gui.py里写代码。

import os
import sys
import time
from threading import Thread
import webview


def start_webview():
    window = webview.create_window('Hello world', 'http://localhost:8000/', confirm_close=True, width=900, height=600)
    webview.start()
    window.closed = os._exit(0)


def start_startdjango():
    if sys.platform in ['win32', 'win64']:
        os.system("python manage.py runserver {}:{}".format('127.0.0.1', '8000'))
        # time.sleep(10)
    else:
        os.system("python3 manage.py runserver {}:{}".format('127.0.0.1', '8000'))
        # time.sleep(10)


if __name__ == '__main__':
    Thread(target=start_startdjango).start()
    start_webview()

最后,用命令python gui.py运行这个文件。这样就会出现一个像桌面应用一样的窗口。

3

我觉得你应该创建一个可以连接到网络服务器的应用程序。关于如何在你的django应用中使用RESTful API调用,有一个很好的答案。这意味着你基本上是在为你的服务器创建一个新的前端。

使用django-rest接口

把整个django应用重写成桌面应用是没有意义的。我是说,你想把数据存储在哪里呢?

撰写回答