【发布时间】:2017-03-31 14:54:09
【问题描述】:
我正在尝试建立多个具有相同基础的网站。浏览时,我知道 Django 有我可以使用的站点框架。
我不知道如何使用站点 ID 设置多个 settings.py 文件。有什么想法吗?
提前致谢:)
【问题讨论】:
标签: django python-2.7 django-settings
我正在尝试建立多个具有相同基础的网站。浏览时,我知道 Django 有我可以使用的站点框架。
我不知道如何使用站点 ID 设置多个 settings.py 文件。有什么想法吗?
提前致谢:)
【问题讨论】:
标签: django python-2.7 django-settings
你可以有多个设置文件,例如develop.py和production.py 脚步 1.在项目里面创建一个settings文件夹 2.将所有设置文件添加到该文件夹 3 在运行服务器时
./manage.py runserver --settings=project_name.settings.required_settingfile
例如:./manage.py runserver --settings=myproject.settings.develop
【讨论】:
要从同一个 Django 实例为多个站点提供服务,您不需要多个 settings.py 文件。
一个简单的方法是从站点框架中省略SITE_ID 设置。然后包括Sites framework middleware:
'django.contrib.sites.middleware.CurrentSiteMiddleware'
这会在每次请求时自动将request 对象传递给Site.objects.get_current()。它还允许您的 Django 应用程序通过request.site 检测当前站点。
您需要确保使用您的 NGINX 或 apache 实例设置多个虚拟主机,以将每个站点的流量路由到您的服务器。
【讨论】: