在多个django站点上使用相同的静态文件夹

时间:2013-08-04 22:13:02

标签: django

我有一个由一个主要网站和几个子网站组成的网站(还有更多网站)。

问题是,主站点和子站点具有相同的布局,使用相同的js等,所以我想问一下所有站点是否可以共享一个静态文件夹?

静态文件夹是130 MB。大气压。我觉得每次创建新网站时都需要复制该文件夹,这有点多余。有200个站点(一个有点现实的目标),重复文件浪费了20 GB的空间。

有没有办法做到这一点?我知道这有点反对良好的django练习(不使用collectstatic)

2 个答案:

答案 0 :(得分:1)

在这种情况下,我会使用Amazon S3CloudFront。当你通过用boto + s3替换默认文件上传机制来运行收集静态时,可以使用django-storages透明地将所有静态文件上传到S3存储桶:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

正如@AdamKG所述,如果所有这些网站共享相同的代码,内容不同,您可能最好使用Django-CMS或将这些网站移动到数据库记录,而不是一遍又一遍地部署相同的代码

答案 1 :(得分:0)

AdamKG给了我“正确”的答案 - 至少是为了我的需要。 我可能会在某些时候转向S3,当它更具相关性时。

“嗯,简单的黑客是符号链接和相关的。但是,你应该问的问题是,为什么你将django项目作为一个商品的一个单位(数量大约200)。 IOW:为什么这些网站都有单独的东西,包括静态媒体,而不仅仅是表格中的行?“