簡體   English   中英

如何配置多個Django應用程序以使用同一數據庫?

[英]How do I configure multiple django applications to use the same database?

當我配置Django應用程序以使用容器時,在嘗試將進程分成較小的映像時,我遇到了一個問題。 如何將邏輯分解為在自己的容器中運行但訪問相同數據庫的較小組件?

我意識到在“真正的”微服務環境中,我希望每個服務都使用不同的數據庫。 但是,考慮一下我有一些邏輯從數據庫讀取數據並生成CSV文件的情況。

我想將其分解為一個單獨的映像類型,該映像僅包含該邏輯並獲得一個特殊的磁盤裝載以將文件寫入其中。 其余應用程序保持無狀態。

因此,我只需要兩個django應用程序,一個可將數據讀寫到其數據庫中,另一個可用於啟動該數據庫並針對該數據庫運行報告。

選項1:是我繼續使用已經定義了模型的同一應用程序。 我啟動一個容器進行處理,然后啟動另一個具有相同圖像的容器進行報告。 盡管這可行,但將行為隔離到特定應用程序似乎是一個更好的模式。

選項2: ...我的選項2是什么?

您是否在環境中使用docker網絡?

建議1 :(簡單,但要解決您的情況)在兩個應用程序中復制models.py。 使用容器數據庫名稱連接數據庫。 如果需要在容器之間調用函數(def),則可以使用API​​的調用,可以使用DRF (Django Rest框架)或帶有JsonResponse的純Django。 不要忘記創建令牌來訪問此“ Api的呼叫”

最好的祝福

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM