我有一個Django項目與幾個應用程序。我的項目現在已經到了需要API的地步。我打算在使用tastypie的不同服務器上使用API。但是,API將使用與網站相同的模型。帶有Tastypie接口的Django站點是否需要兩個代碼庫?
到目前爲止,我看到我唯一的選擇是如下...
複製應用到這意味着我必須使用同一模型兩個應用程序,現在必須保持兩個代碼庫---糟糕的服務器!
那麼,其他如何處理呢?我有什麼選擇?
我的模型可以以某種方式共享嗎?
我有一個Django項目與幾個應用程序。我的項目現在已經到了需要API的地步。我打算在使用tastypie的不同服務器上使用API。但是,API將使用與網站相同的模型。帶有Tastypie接口的Django站點是否需要兩個代碼庫?
到目前爲止,我看到我唯一的選擇是如下...
複製應用到這意味着我必須使用同一模型兩個應用程序,現在必須保持兩個代碼庫---糟糕的服務器!
那麼,其他如何處理呢?我有什麼選擇?
我的模型可以以某種方式共享嗎?
我不會推薦拆分你的項目。
每次您編輯模型時,都必須立即對其進行編輯,否則可能會導致事物不同步。相反,這會變得非常痛苦,
服務器是瓶頸嗎?拆分網站和api機器(但使用相同的models.py
)並將連接共享到某處的數據庫。
DB是瓶頸嗎?將數據庫擴展到更快的機器/羣集,並使用相同的站點來提供web和api。
無論哪種方式,一個代碼庫,一組模型,一個DB!
一個'拆分網站和api機器'?舉個例子? – GrantU
你可以把模型放到一個單獨的項目中,讓這兩個應用程序將它用作庫或使用類似git子模塊的東西。或者,將兩個項目的Web部件的代碼放在一起,只處理在配置中運行的內容,但這聽起來有點難看。 – millimoose