1

複数の管理サイトで奇妙な問題が発生しています。

2 つの管理サイトがあります。1 つ、unicorn_admin.site、およびデフォルトのdjango.contrib.admin.site.

管理者の逆引き URL を試行すると、一部のアプリでNoReverseMatchエラーが発生します。次の点を考慮してください。

この同じテンプレートが両方の管理サイト インスタンスに使用されます。コードは100%同じです。

{% url 'admin:packingslips_packingslipformat_changelist' %}
{# NoReverseMatch from /unicorn/ but okay from /b/ #}

おそらくadmin名前空間が現在アクティブな管理者に自動的に設定されているという印象を受けているので、2 番目の adminunicorn_adminに名前を付けたにもかかわらず、ビューのレンダリング中unicorn_adminに名前空間がインスタンスadminに設定されますか?unicorn_admin

どんなアイデアでも大歓迎です。

unicorn_admin.py

site = AdminSite(name='unicorn_admin')

ルート URLConf

(r'^unicorn/', include(unicorn_admin.site.urls)),
(r'^b/', include(admin.site.urls)),  # direct link to default admin panel
4

1 に答える 1

1

名前空間を使用して、同じ urlconf のいくつかのコピーを追加します (あなたの場合 - 2 つの管理サイト)。コメントで、異なる管理サイトに対して異なる名前空間を実行する 2 つの方法を見つけました。

于 2013-07-17T18:08:27.220 に答える