2010-03-28 38 views
2

我正在創建多站點平臺。任何人都可以通過我的平臺製作簡單的網站。我打算使用django multidb支持。一個網站一個分貝。我需要根據request.get_host()更改數據庫設置。 我認爲我不是個好主意。提示其他決定?它是如何在網站的各種設計師身上實現的?如何根據request.get_host()在django中更改db?

回答

1

您可能想重新考慮使用單獨的數據庫作爲到達站點。在審查多DB源,它看起來像你會碰到一些可擴展性問題,這取決於你想要多少網站支持:

目前所有的數據庫都設置在settings.py。這可能會導致一些問題:

  • 每個新站點都需要重新加載Django。
  • settings.py可能會變大。

更好的方法可能會使用單個數據庫,並根據需要將該網站/帳戶與每個記錄相關聯。

+0

我不知道會創建多少個網站。 – Alexandr 2010-03-29 18:18:34

+0

如果它很低,而且你正在手動完成,那麼你可能會好起來;否則,我會使用不同的策略。 – 2010-03-29 18:48:22

0

您可以使用相同的代碼庫爲每個「站點」設置一個站點,使用它自己的設置文件,監聽它自己的套接字。我這樣做,我可以在中型服務器上輕鬆支持30多個併發站點。配置和啓動腳本的可維護性是唯一的問題。