您可以通過一些文章/應用程序向我提供建議,這些文章/應用程序允許您使用Python和Django創建SaaS(軟件即服務)應用程序。如何使用Python和Django創建SaaS應用程序
眼下的一般性議題,我不明白是:
- 你有一個爲所有客戶或工作申請每個客戶端一個應用
- 你如何管理數據庫訪問權限或不同的DB爲每個客戶端
- 是否有任何允許您將一個應用程序轉換爲SaaS的
您可以通過一些文章/應用程序向我提供建議,這些文章/應用程序允許您使用Python和Django創建SaaS(軟件即服務)應用程序。如何使用Python和Django創建SaaS應用程序
眼下的一般性議題,我不明白是:
我使用下面的:
雖然不是必要的,下面將在長期內幫助:
最後,很高興有
如果你在3 + 4周圍有一個可配置的Cms /框架,我會爲此付錢。 – 2013-07-10 22:27:06
你爲什麼喜歡django-userprofiles? – 2014-08-01 13:29:32
P.s.其中一些是GPL(例如Ikari,Billing)。我不知道這是否使事情複雜化。 – 2014-08-01 13:36:12
軟件即服務只是一種營銷手段詞,它在技術上沒有什麼不同來自可通過互聯網訪問的服務器。所以問題3沒有意義。這讓我們留下了問題1和問題2:
在這種情況下,'app'是什麼意思?您的Web應用程序(使用Python和Django構建)可以具有多個Django應用程序(構成Web應用程序的組件),但我認爲這不是您的意思。您可以使用Python/Django構建網站,並根據哪個用戶(客戶端)登錄有各種自定義選項。例如,高級客戶端可以啓用多個高級選項,但它仍然是同一代碼庫的一部分。這只是某些選項(按鈕/控件等)不顯示某些客戶端
Django有大量用於用戶管理,權限和組的工具。您可以爲每個用戶(每個客戶端)授予不同的權限,這些權限決定他們可以執行的操作。數據庫訪問應該由您的Web應用程序管理。例如,代碼確定需要在網頁上顯示哪些信息(取決於哪個客戶端登錄),並且該代碼從數據庫中檢索信息。根據您要達到的規模,您還可以指定應使用哪個數據庫從中檢索信息。
當然,問題3是有意義的(至少目前它讀取的內容) - 轉換「一個應用程序」可能意味着一個Windows GUI應用程序,一個unix命令行應用程序或任何數量的東西。 – 2017-01-03 19:38:02
一個非常基本的例子,你將如何去做。
假設您有一個旨在解決特定商業案例的簡單應用程序。例如,您創建了一個應用程序來處理您辦公室的房間預訂。
「轉換」這個程序爲服務您必須配置它使得大多數應用程序的用戶特定的零件是參數(它們可以「模板化」 - 由於缺乏更好的詞)。
這是如何轉換前端。您可以創建變量來保存應用程序的徽標,標題,預告片和配色方案;允許每個用戶定製他們的實例。
到目前爲止,您的應用程序能夠在前端自行定製。它仍在使用第一階段設計的相同數據庫。
現在只顯示那些與特定用戶相關的字段。這將參數化數據庫。所以你可能會添加一個標識每一行屬於特定用戶的列;然後創建基於登錄用戶篩選記錄的視圖或存儲過程。
現在應用程序可以「租」出來;因爲您可以根據用戶自定義實例。
然後它會從這裏變得更大 - 取決於您的應用程序的規模,類型和預期的定製。當每個用戶擁有自己的專用數據庫而不是存儲過程+視圖組合時,您可能會認爲您的應用程序性能更好。
您可能會決定對於某些用戶類型(或「包」),您需要運行應用程序的專用實例。因此,對於「高級」或「超」用戶,您希望擁有自己的專用系統。
如果您的應用程序需要大量存儲 - 您可能會決定單獨收取存儲費用。
底線是它與所使用的語言無關。它更多的是架構和設計問題。
我有一個blog post描述我如何去ab的建議使用Django製作多租戶SAAS Web應用程序。這裏的多租戶意味着當用戶註冊時,他們有他們的子域。回顧:
current_tenant = request.tenant
*.abc.com
鏈接到你的服務器的IP地址添加您的cPanel內的一個記錄
它如果你在4年後發佈你自己的反饋意見,這將會非常有趣。如果你繼續在這個項目上工作。謝謝。 – 2016-04-21 10:31:38
@imanis_tn好,4年後很多東西發生了,但這裏是重要的一部分。 我在一個名爲Get A Newsletter的SaaS應用程序上工作。我們使用Django REST框架來構建我們的API,但沒有使用任何特殊的東西。每個用戶沒有子域,內部計費系統,我們手動處理每個對象的權限。 實際上,當我加入上述項目時,系統已經啓動並運行,並且我們剛剛開始創建REST Api,因此我們主要受現有代碼庫限制,但結果非常好。 – 2016-04-22 06:52:33