多个网站使用相同的应用程序 - 如何设置它?

时间:2014-04-04 03:14:28

标签: django python-2.7

我有一个应用程序,显示在美国可用的产品。如果我想更改国家/地区,我只需在settings.py文件中修改变量的值。

现在......我服务的每个国家都需要拥有自己的网站,例如example.co.uk,example.ca等。它们都将托管在同一台服务器上并使用相同的数据库。视图,静态文件等。每个国家的情况几乎相同。

设置此功能的最佳方法是什么?我应该有一个主应用程序,然后有每个国家/地区的应用程序扩展应用程序?

(使用Django 1.6.2 / Python 2.7)

2 个答案:

答案 0 :(得分:2)

也许尝试django-dynamicsites,不确定它对1.6.2的效果如何,我已经在几个版本的项目上使用过它。它工作得很好,您可以覆盖每个站点的设置,URL和模板,并共享其他所有内容。 还有一个名为django-dynamicsites-lite的项目看起来更近一些。

答案 1 :(得分:2)

我最近有类似的事情。

我为每个域提供了一个特定的设置文件,其中包含唯一的SITE_ID以及每个站点的wsgi文件。然后在我的http.conf中(我在webfaction上使用apache)我设置了多个VirtualHost实例,每个实例都指向特定的wsgi文件。

我的配置如下所示:

  • random_django_app /
    • __init__.py
    • models.py
    • ...
  • another_app /
    • ...
  • settings_app /
    • 设置/
      • __init__.py
      • base.py
      • example_co_uk.py
      • example_ca.py
      • ...
    • wsgis /
      • __init__.py
      • example_co_uk.py
      • example_ca.py
    • __init__.py
    • urls.py