2015-01-10 23 views
0

我已經使用PyQt GUI工具包設計了一個桌面應用程序,現在我需要在我的Django網站上嵌入此應用程序。我是否需要使用django自己的邏輯來克隆它,還是有一種方法可以使用某個界面在網站上獲取它。因爲我需要這個工作在我的網站上,就像桌面一樣工作。我是否需要在django中找到要在網絡上重新創建的軟件包,或者有辦法簡化任務?在Django框架中克隆PyQt應用程序

請幫忙。

回答

1

我不知道有任何庫將PyQT桌面應用程序移植到django webapp。 Django肯定沒有做任何事情來啓用這種或那種方式。我想,你會發現你必須重寫它的網絡。 Django是一個很好的框架,根據你的應用程序的複雜性,它可能不會太難。如果你在web開發方面沒有做太多的工作,那麼有很多東西需要學習!

如果這似乎是常識你,你應該能夠運行一個桌面應用程序作爲web應用程序,考慮一下:你有可能遇到的是通過HTTP進行

幾乎所有的網絡通信。 HTTP是用於在服務器和客戶端(通常是瀏覽器)之間傳遞數據的協議。這意味着發生的任何通信都必須解析爲不連續的塊。考慮一個示例流程:

  • 您在您的瀏覽器中轉到谷歌。
  • 您的瀏覽器然後點擊一個DNS服務器(或緩存),將google.com的名稱解析爲某個IP地址。
  • 很酷,現在您的瀏覽器向該IP地址發出請求,並說「給我一些東西」。
  • Google決定在頁面中發送最少量的HTML和大量縮小的JavaScript。
  • 您的瀏覽器意識到HTML中存在一些圖像鏈接,因此它會向Google提出其他請求以獲取每個圖像,以便它們可以顯示它們。
  • 現在所有的內容都被加載到您的瀏覽器中,以便它開始執行JavaScript代碼,並且該代碼需要來自Google的更多數據,因此它也開始向Google發送請求。

這只是一個小例子,說明Web應用程序的運行方式與桌面應用程序的運行方式根本不同。在桌面應用程序中,您可以更加方便地執行任何操作,無需「打包」併發送,然後執行操作等(除非您使用的是消息傳遞架構,但在企業應用程序之外這種情況相對罕見) )。

+2

底線是我需要在Django中重新制作它。謝謝 –