アプリに単純なテナンシー サポートを追加しようとしています。リクエスト URL から読み取られる文字列「tenant」を持つアカウント モデルを作成し、システム内のテナントを識別します。
テナント.example.com/* -> www.example.com/テナント/* (apache で書き換え)
この /tenant/ を request.path から取得し、使用する request.account オブジェクトを追加する単純なミドルウェアを作成しました。
私の問題は、URL マッピングです。
私はこれを試しました:
url(r'^(?P<tenant_id>[\w\-]+)/', include('project.urls_tenant')),
urls_tenant.py 内にいくつかの単純な URL を定義しました。
url(r'^app1/', include('project.app1.urls')),
url(r'^app2/', include('project.app2.urls')),
任意のページにアクセスしようとすると、次のエラー メッセージが表示されます。
generic_view_method() が予期しないキーワード引数 'tenant_id' を取得しました
これは、tenant_id をパラメーターとして想定していない (実際にそうすべきではない) ためです。
urls.pyファイルに tenant_id を/ test_tenant/としてハードコーディングすると、すべて正常に動作します。
リクエストとレスポンスが正常に処理されるように、私は何を間違っていて、それを修正するのですか?
どうもありがとうございました。これを参考にしました: django でのマルチテナント アプリケーションの最適なアーキテクチャ