Django を使用して、さまざまなプロデューサーとコンシューマーに個別の Web UI を提供するサイトを作成しています。両方の UI (または「サブサイト」) には、異なるレイアウト、メニュー、およびグラフィックがあります。ただし、それらは同じデータベースとモデルに異なる側面 (プロデューサーとコンシューマーなど) からアクセスします。すべて単一のドメインでホストされ、UI の差別化は URL で行われます。
問題は、このシステムに CMS を統合して、メニュー構造とテキスト コンテンツを処理するときに発生します。異なる UI の 2 つの異なるメニューをどのように処理すればよいですか? django-cms と django-page-cms を調べたところ、単一のメニュー階層しか維持していないようです。
何か案は?
汚い解決策の 1 つは、たとえば、CMS の各 UI のメニュー項目に異なるプレフィックスを追加し、CMS コードをハックして、正しい UI のメニュー項目のみを挿入することです (パラメーターとして show_menu テンプレート タグに指定されます)。
CMS アプリのインスタンスを複数持つことができれば、それぞれに独自のデータベース テーブルを持たせることができれば、より良い方法になります。しかし、これはdjangoやdjango-cmsやdjango-page-cmsなどで可能ですか?
その他の制限:
- CMS はローカリゼーションをサポートする必要があります
- 構成とテストをシンプルに保つために、単一の Django インスタンスを実行することをお勧めします