Django 自定义管理模板

问题描述 投票:0回答:1

我在 Django 中更改了管理站点索引模板,如下所示:

admin.site.index_template = "admin/list-aprovals.html"

但是我如何将我的模型数据发送到此页面,或者我可以为此网址添加自定义视图吗:

path('admin/', admin.site.urls),

所以,我想使用现有的 django admin,但我只想更改模板并在这个特殊模板中查看我的模型,但使用原始的管理应用程序。这在 Django 中可能吗?我该如何解决这个问题?

我尝试了自定义应用程序,但我想使用原始的贡献管理。

python django django-views django-templates django-admin
1个回答
0
投票

首先:确保您的

INSTALLED_APPS
中列出了管理员。

第二:在 admin.py 中将模型注册到管理员

# admin.py
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)

这应该足够了。如果您计划对该管理站点进行更多修改,我建议您执行以下操作(更多信息)。与上面基本相同,但稍后允许更多配置:

# admin.py
from django.contrib import admin
from .models import MyModel

class MyModelAdmin(admin.ModelAdmin):
    pass
admin.site.register(MyModel, MyModelAdmin)

第三:默认情况下每个超级用户(

User.is_superuser == True
)都拥有所有权限!这意味着超级用户可以访问管理站点并查看所有注册的模型(很可能包括用户和组)。

默认情况下,每个员工用户(

User.is_staff == True
)不具有所有权限!他没有权限,但可以访问管理站点。您只想授予该员工用户读写删除和更改权限
MyModel
。这可以通过超级用户和管理面板来完成,也可以通过创建员工用户的代码来完成。

© www.soinside.com 2019 - 2024. All rights reserved.