我試圖用相同的基礎設置多個網站。瀏覽時,知道了Django有我可以使用的Sites框架。如何爲網站框架django設置多個settings.py?
我沒有得到如何設置多個settings.py文件與網站ID。任何想法的人?
感謝提前:)
我試圖用相同的基礎設置多個網站。瀏覽時,知道了Django有我可以使用的Sites框架。如何爲網站框架django設置多個settings.py?
我沒有得到如何設置多個settings.py文件與網站ID。任何想法的人?
感謝提前:)
你可以有多個設置文件例如develop.py和production.py 步驟 1.創建一個文件夾的設置裏面的項目 2.將所有的設置文件該文件夾 3在運行服務器
./manage.py runserver --settings=project_name.settings.required_settingfile
例如:./manage.py的runserver --settings = myproject.settings.develop
感謝您的快速提示。有沒有什麼辦法可以在wsgi上做到這一點。我有一個apache2服務器 – realtymarker
導入套接字 hostname = socket.gethostname()根據主機名我們可以在wsgi中選擇需要的設置文件。 –
好的謝謝。只有一個疑問,那麼爲什麼我們有設置文件的網站ID。我以爲django可以處理它 – realtymarker
爲了滿足含多處e站點來自同一個Django實例,您不需要多個settings.py文件。
一個簡單的方法是從Sites框架中省略SITE_ID
設置。然後包括Sites framework middleware:
'django.contrib.sites.middleware.CurrentSiteMiddleware'
這會自動在每次請求傳遞一個request
對象Site.objects.get_current()
。它還允許您的Django應用程序通過request.site
來檢測當前網站。
您需要確保使用NGINX或apache實例設置多個虛擬主機,以將流量從每個站點路由到您的服務器。
我按照這個文件https://docs.djangoproject.com/en/1.10/ref/contrib/sites/。 – realtymarker