0

複数のサイトにフラットページを添付しています。その管理プレビューは任意のサイトを選択します。これは、の35〜36行目までデバッグした後で非常に明白です django.contrib.contenttypes.views.shortcut()

この問題を解決する最良の方法は何でしょうか?

shortcut()関数がオブジェクトをrequest取得するので、そこからホストを抽出することもできますが、ライブサーバーにパッチを適用しないことをお勧めします。

私はまだ管理者URLをキャッチすることを見ていません、それで多分誰かがいくつかの素晴らしい解決策を提案することができますか?

4

1 に答える 1

1

私の意見では、これは Django のバグと見なすことができます。少なくとも部分的な修正は、現在の SITE_ID がオブジェクトに関連するサイトの 1 つであるかどうかを確認し、そうである場合は任意のサイトの代わりにそのサイトを使用することです。パッチでチケットを提出できます。

Django にパッチを適用せずに修正するには、フラットページ モデルの admin edit-form テンプレートをオーバーライドして、ショートカット ビューに移動するデフォルトの URL の代わりに必要な URL をそのリンクに配置できるようにすることを検討してください。それがどれほどきれいになるかを知るのに十分なほど調べていません。

もう 1 つのオプションは、Site.objects.get_current().domain に基づいて、ドメインを含む完全な絶対 URL を実際に返す get_absolute_url メソッドを Flatpage モデルにモンキーパッチすることです。

于 2010-01-13T17:26:43.180 に答える