1. ホーム
  2. ジャンゴ

[解決済み】Djangoの管理者用URLをオブジェクトに取得する

2022-04-13 08:59:53

質問

Django 1.0 より前は、オブジェクトの admin url を取得する簡単な方法があり、私はこのように使用する小さなフィルタを書きました。 <a href="{{ object|admin_url }}" .... > ... </a>

基本的にはurlの逆関数を使っていて、ビュー名は 'django.contrib.admin.views.main.change_stage'

reverse( 'django.contrib.admin.views.main.change_stage', args=[app_label, model_name, object_id] )

でurlを取得します。

お察しの通り、私はDjangoの最新バージョンにアップデートしようとしていて、これは私が遭遇した障害の1つで、admin urlを取得するためのその方法はもう機能しません。

django 1.0でこれを行うにはどうしたらよいでしょうか?(svnで最新バージョンに更新しようとしているので、1.1でもいいです)。

どのように解決するのですか?

を呼び出そうとすると、同じような問題が発生することがありました。 reverse('admin_index') と表示され、常に django.core.urlresolvers.NoReverseMatch というエラーが発生します。

urls.py ファイルに古い形式の admin urls があることが判明しました。

urlpatternsにこんなのがあった。

(r'^admin/(.*)', admin.site.root),

これは、管理画面を動作させるものですが、非推奨の方法です。 このように変更する必要がありました。

(r'^admin/', include(admin.site.urls) ),

そのとたん、約束されたすべての良さが 管理者用URLの反転 ドキュメントが動き出しました。