【发布时间】:2012-07-07 18:05:28
【问题描述】:
我为 20 个不同的国家/地区创建了一个包含 20 个站点(每个站点一个不同的域)的 Django 项目。这些网站共享所有内容:代码库、数据库、网址、模板等。
他们唯一不共享的是我在每个站点设置文件中设置的小自定义(徽标、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 个应用程序。有解决办法吗?
谢谢!
【问题讨论】:
-
我也在寻找最佳解决方案。看看这个:huyng.com/posts/…
-
感谢您的回答。我最终使用了github.com/wardi/django-dynamicsites-lite
标签: django heroku django-sites