0

1 つのメイン Web サイトと複数のサブサイトで構成される Web サイトを持っています (さらに追加予定です)。

問題は、メイン サイトとサブサイトのレイアウトが同じで、同じ js などを使用しているため、すべてのサイトで単一の静的フォルダーを共有できるかどうかを尋ねたいことです。

静的フォルダーは 130 MB です。気圧。新しいサイトが作成されるたびにそのフォルダーをコピーする必要があるのは、ちょっと冗長だと思います。200 サイト (ある程度現実的な目標) では、重複ファイルで 20 GB のスペースが無駄になります。

これを行う方法はありますか?私はそれが良いDjangoの慣習に多少反していることを知っています(collectstaticを使用しない)

4

2 に答える 2

1

このような状況では、Amazon S3CloudFrontを使用します。デフォルトのファイル アップロード メカニズムを boto + s3 に置き換えることで、collect static を実行するときにdjango-storagesを使用して、すべての静的ファイルを S3 バケットに透過的にアップロードできます。

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

@AdamKG が述べたように、これらすべてのサイトが同じコードを異なるコンテンツで共有している場合、同じコードを何度もデプロイするよりも、Django-CMSを使用するか、これらのサイトをデータベース レコードに移動する方がよいでしょう。

于 2013-08-05T00:31:02.097 に答える
0

AdamKG は「正しい」答えをくれました - 少なくとも私のニーズには。より関連性が高い場合は、ある時点で S3 に移行する可能性があります。

「まあ、簡単なハックはシンボリックリンクと関連です。しかし、あなたが尋ねるべき質問は、なぜあなたがdjangoプロジェクトを(カウントで行くと〜200)コモディティのユニットとして使用しているのかということです.IOW:なぜそうするのですか?サイトには、テーブル内の行だけでなく、静的メディアを含む何かが分離されていますか?」

于 2014-09-16T09:15:45.273 に答える