我已经创建了一个Django项目,其中包括20个站点(每个站点有不同的域名),分别为20个不同的国家。这些站点共享所有内容:代码库、数据库、URL、模板等等。
唯一不共享的是小的定制(如标志、CSS主题的背景颜色、语言代码等),我在每个站点的设置文件中设置它们(每个站点都有一个设置文件,所有这些文件都导入一个包含通用内容的全局设置文件)。目前,在开发模式下运行这些站点时,我会执行以下操作:
我有几个问题:
唯一不共享的是小的定制(如标志、CSS主题的背景颜色、语言代码等),我在每个站点的设置文件中设置它们(每个站点都有一个设置文件,所有这些文件都导入一个包含通用内容的全局设置文件)。目前,在开发模式下运行这些站点时,我会执行以下操作:
django-admin.py runserver 8000 --settings=config.site_settings.site1
django-admin.py runserver 8001 --settings=config.site_settings.site2
...
django-admin.py runserver 8020 --settings=config.site_settings.site20
我有几个问题:
- 我读到可以为每个站点(域名)创建虚拟主机并传递它的settings.py文件。但是,我担心这会为每个站点创建一个Django实例。我是正确的吗?
- 有没有更有效的部署方法?我读到了django-dynamicsites,但不确定是否是正确的方法。
- 如果我决定使用Heroku进行部署,似乎Heroku只希望每个应用程序有一个设置文件,所以我需要有20个应用程序。有解决方案吗?