我正在尝试运行大量共享约90%代码的网站.它们只是用于查询API并返回结果.他们将拥有一个通用的用户群/数据库,但配置略有不同,并且将具有不同的CSS(甚至可能是不同的模板).
我的初衷是将它们作为具有公共库的单独应用程序运行,但我已经阅读了有关它们可以从单个django实例运行的站点框架,这可能有助于减少内存使用.
https://docs.djangoproject.com/en/dev/ref/contrib/sites/
我的问题是,站点框架是否是解决此类问题的正确方法,并且它在运行单独的应用程序方面具有真正的好处.最初我以为是,但不是我想的.我听说过以下内容:
您的SITE_ID在settings.py中设置,因此为了拥有多个站点,您需要多个settings.py配置,这意味着多个不同的进程/实例.您当然可以在它们之间共享代码库,但每个站点都需要一个专用的worker/WSGIDaemon来为该站点提供服务.
如果每个站点都需要运行UWSGI实例,这有效地消除了在一个引擎盖下运行多个站点的任何好处.
系统的其他想法:
我不知道采取什么途径.