0

1 つのバックエンドで複数のサイトを管理できるようにする Django アプリをいくつか作成することになっています。このcontrib.sitesフレームワークは、私の目的に非常に適しています。manage.pyサイトごとに異なる設定での複数のインスタンスを実行できます。しかし、djangoの管理者は、さまざまなサイトのさまざまな設定をどのように処理する必要がありますか. 言語のセットが異なる場合、異なる (既定の) 言語ですか? そのため、1 つの管理者で異なるサイトからのオブジェクトで作業する必要がある場合、直面する問題がいくつかあります...

このようsettings.ADMIN_FORな場合に非常に役立つはずですが、それに関するドキュメントはほとんどなく、実際の Django バージョン (?) では実際には使用されていないと思います。

したがって、どんなアイデア/解決策も大歓迎です。どうもありがとう...

4

1 に答える 1

1

JamesBennetによる古いブログ投稿があります。これは役立つかもしれません。

  1. ドメインごとに管理者に新しいSiteオブジェクトを作成し、そのサイトのIDをSITE_IDとして設定ファイルに入れて、Djangoがデータベース内のどのサイトがこの設定ファイルに対応するかを認識できるようにします。
  2. 元のサイト(ID 1のサイト)の設定ファイルで、他のサイトの設定ファイルをADMIN_FOR設定に追加して、管理アプリケーションのこの1つのインスタンスがすべてのサイトを処理することをDjangoに通知します。

文書化されているように、ADMIN_FOR(リンクを投稿できません)は、INSTALED_APPSがdjangoアプリモジュールのタプルであるのと同じように、設定モジュールのタプルである必要があります。

ブログ投稿は2006年のものであるため、少し古いAPIを使用していることに注意してください。

于 2010-05-03T17:28:42.637 に答える