2012-03-22 3 views

答えて

14

あなたはモデル - > ModelAdminののadmin.site._registry辞書にアクセスすることができます

@never_cache 
def index(self, request, extra_context=None): 
    """ 
    Displays the main admin index page, which lists all of the installed 
    apps that have been registered in this site. 
    """ 
    app_dict = {} 
    user = request.user 
    for model, model_admin in self._registry.items(): 
     # ... 

注意をアンダースコアで始まる変数は、潜在的変化を受けていること:これは、管理者indexビューが何をするかである

>>> ./manage.py shell 

In [1]: from urls import * # load admin 

In [2]: from django.contrib import admin 

In [3]: admin.site._registry 
Out[3]: 
{django.contrib.auth.models.Group: <django.contrib.auth.admin.GroupAdmin at 0x22629d0>, 
django.contrib.auth.models.User: <django.contrib.auth.admin.UserAdmin at 0x2262a10>, 
django.contrib.sites.models.Site: <django.contrib.sites.admin.SiteAdmin at 0x2262c90>, 
testapp.models.Up: <django.contrib.admin.options.ModelAdmin at 0x2269c10>, 
nashvegas.models.Migration: <nashvegas.admin.MigrationAdmin at 0x2262ad0>} 

をdjangoの将来のバージョンで。

+0

ユーザーが管理者である実際のアプリを入手する方法があるかどうか知っていますか? dahsboardの場合はアプリケーションを返しませんが、他の場合はすべてのラベルやオブジェクトを返します。 adminグローバルメニューのtemplatetagとして使用したいと思います。 – tunarob

+0

私は理解していない、あなたは別の質問を開いて詳細を与えることができますか? – jpic

関連する問題