我在 Django 中更改了管理站点索引模板,如下所示:
admin.site.index_template = "admin/list-aprovals.html"
但是我如何将我的模型数据发送到此页面,或者我可以为此网址添加自定义视图吗:
path('admin/', admin.site.urls),
所以,我想使用现有的 django admin,但我只想更改模板并在这个特殊模板中查看我的模型,但使用原始的管理应用程序。这在 Django 中可能吗?我该如何解决这个问题?
我尝试了自定义应用程序,但我想使用原始的贡献管理。
首先:确保您的
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
。这可以通过超级用户和管理面板来完成,也可以通过创建员工用户的代码来完成。