tun*_*rob 9 django django-templates django-admin
我正在编写自定义管理员资料,需要在管理员中获取所有已注册的模型.这可能吗?我需要它在管理员索引页面上制作一些自定义视图.
jpi*_*pic 15
您可以访问admin.site._registryModel-> ModelAdmin的dict:
>>> ./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>}
Run Code Online (Sandbox Code Playgroud)
这是管理员索引视图的作用:
@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():
# ...
Run Code Online (Sandbox Code Playgroud)
请注意,前缀为下划线的变量可能会在未来版本的django中发生变化.
| 归档时间: |
|
| 查看次数: |
2691 次 |
| 最近记录: |