3

私は Django プロジェクトの開発をほぼ完了しました (いくつかのプラグ可能なアプリを使用)。

このプロジェクトを SaaS (37signals.com のようなもの) として提供したいと考えています。

例: customer1.product1.com 、 customer2.product2.com など

product1 はベースキャンプかもしれません product2 は高層ビルかもしれません。

これらの製品のプロジェクトをどのように構成する必要があるか知りたいです。

すべての製品がアプリケーションになる単一のプロジェクトが存在する必要があります。---- または ---- すべての製品に対して異なるプロジェクトを作成する必要がありますか。

データベースに関しても..すべての製品が単一のデータベースを参照する必要があるか、製品ごとに個別のデータベースが必要です。

これを行うための最も効率的でスケーラブルな方法を探しています。

ありがとう

4

3 に答える 3

4

アプリがなんらかの方法でやり取りする場合 (ユーザー アカウントの共有など)、それらは同じデータベース上にある必要があります。複数データベースのサポートに関するAlex Gaynor の偉大な業績がトランクにマージされるまで、Django は複数データベースをサポートしません。

同様に、Django のサイト フレームワークにも興味があるかもしれません。あなたの意図についてこれ以上の情報がなければ、これ以上のアドバイスをすることは困難です。

于 2009-10-15T23:46:00.910 に答える
1

大きなクライアントがいくつかある場合は、それぞれに独自のデータベースと Django インスタンスを提供することが理にかなっています。特に、それらのカスタマイズを行う必要がある場合。

「独自の作成」セットアップとセルフサービス管理を備えた潜在的に多くのクライアントが存在する SaaS アプリの場合、おそらく 1 つのデータベースが必要であり、Django アプリにサブドメイン サポートを追加します。

私たちがそれをどのように行ったかについて、いくつかの良いヒントとコードがあります: Django でのサブドメインの処理

于 2010-02-04T10:15:55.467 に答える
0

Saasサイトのような基本的な37Signalsのインフラストラクチャの多くを処理すると主張するオープンソースプロジェクトがあります:http: //github.com/saas-kit/django-saas-kit

于 2010-06-19T10:14:16.693 に答える