このアーキテクチャを実装する方法を決定しようとしています。ベースの Django パッケージがあります。これを BaseApp と呼びましょう。私は、他の人が使用するためのツールとして、配布用にこれを開発してきました。BaseApp は、ほとんどの場合、いくつかのビューの動作といくつかの基本モデルを定義します。開発者は BaseApp をインストールしてから別のアプリを作成できます。それを NeatThing と呼びましょう。これは、いくつかのモデルとテンプレートを定義するだけで済み、残りは BaseApp が行います。わずかな労力で、Neat を実行するミニ アプリケーションを作成できます。もの。x 100 を繰り返すと、100 人の異なる開発者が 100 の異なる Neat Things を実行します。そして、それらはすべて、別々の環境などで別々のサーバーとして機能します。
それを利用して、BaseApp の 1 つのバージョン、ユーザーの 1 つのデータベース、および 100 の異なる Neato-Whiz-Bang アプリケーションすべてを提供し、それらを 1 つのドメインで一緒に提供して、ユーザーがすべて同じ場所に来るようにしたいと考えています。
どうすればそれを行うことができますか:
- 1 つの URL が 100 の異なるアプリケーションの 1 つを指しています (私が設定した方法でプログラムによって)
- 100 の異なるアプリケーションが互いに分離されていることを確認します (相互にまったく対話できません)。
- ユーザーがアプリケーション内のモデルに関連付けられるように、各アプリケーションに (制限付きの) ユーザー データベースへのアクセス権を付与します (Django のマルチデータベース サポートは認識していますが、各アプリケーションにアクセス権を付与しながら 1 つのユーザー データベースを保護するにはどうすればよいでしょうか?)
高レベルの実装アプローチの観点としてこれを求めています。つまり、ここからどの方向に行くのですか?