2011-10-21 9 views
9

私はdjango管理者のインデックスに追加のサイドバーを表示したいと思います。私はtemplates/admin/index.htmlを作成し、それが表示されます。今私はモデルからいくつかのデータが必要です。私はこの機能がないとファイルadmin/views.pydjangoの管理ビューを拡張するには?

def index(request): 
    var = 'var' 
    return render_to_response('admin/index.html', {'var': var}) 

にインデックス機能を作成しているこれを行うには、私はエラーViewDoesNotExistを持っています。

ただし、このサンプル変数 'var'ではテンプレートが反応しません。さらに、私のアプリはインデックスに表示されません。私はauth appしか持っていません。

インデックス機能フォームの管理ビューを上書きしていると思います。この関数を正しく上書きする方法は?

答えて

2

使用することを検討してくださいdjango管理ツールhttps://bitbucket.org/izi/django-admin-tools/wiki/Home

manage.py customdashboardmanage.py custommenuなどのコマンドが表示されます。

すばらしいブックマーク機能もあり、特定のオブジェクトやリストページにすばやくジャンプできます。

8

代わりに完全にビューを上書きせ、あなたのModelAdminの中でビューにロジックを追加することができます(admin.py)クラス:例えばので

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#other-methods

class MyAdmin(admin.ModelAdmin) 
    ... 
    def add_view(self, request, form_url='', extra_context=None): 
     # Do some extra queries that will get passed to the template 
     c = {'x':SomeModel.objects.all()} 
     super(MyAdmin, self).add_view(request, extra_context=c) 
+1

良い考えですが、add_view - "モデルインスタンス追加ページのDjangoビュー"私はindex_viewメソッドがないインデックスページ上のデータにアクセスしたい – motivast

関連する問題