为 Django rest 使用多个 admin.py 文件?
Using multiple admin.py files for Django rest?
我目前有 2 个 admin.py 个文件。
- project/admin.py
- project/pages/basicpage/admin.py
我想在第二个 admin.py 和第一个 admin.py 中使用已注册的 classes,以便可以在同一个管理端点访问它们。
文件一:project/admin.py
from django.contrib import admin
from project import models
from project.pages.basicpage import admin as BP_admin
@admin.register(models.Test)
class TestAdmin(admin.ModelAdmin):
pass
文件二:project/pages/basicpage/admin.py
from django.contrib import admin
from project import models
@admin.register(models.Platform)
class PlatformAdmin(admin.ModelAdmin):
pass
@admin.register(models.Type)
class TypeAdmin(admin.ModelAdmin):
pass
在文件一中,我将第二个管理员导入为BP_admin,但尚未使用。但是,当我访问我的 http://127.0.0.1:8000/admin 端点时,可以理解的是,我只能查看在第一个文件中注册的“测试”class。知道如何让我的第二个文件中的其他 2 classes 注册到第一个文件的端点吗?
谢谢!
Admin 只是模型,因此导入模型应该就足够了。您可以添加:
from project.pages.basicpage import models as BP_models
@admin.register(models.Test)
...
@admin.register(BP_models.Platform)
class Platform(models.Platform):
pass
你也可以简化而不使用 class:
@admin.register(models.Test, BP_models.Platform,....)
我目前有 2 个 admin.py 个文件。
- project/admin.py
- project/pages/basicpage/admin.py
我想在第二个 admin.py 和第一个 admin.py 中使用已注册的 classes,以便可以在同一个管理端点访问它们。
文件一:project/admin.py
from django.contrib import admin
from project import models
from project.pages.basicpage import admin as BP_admin
@admin.register(models.Test)
class TestAdmin(admin.ModelAdmin):
pass
文件二:project/pages/basicpage/admin.py
from django.contrib import admin
from project import models
@admin.register(models.Platform)
class PlatformAdmin(admin.ModelAdmin):
pass
@admin.register(models.Type)
class TypeAdmin(admin.ModelAdmin):
pass
在文件一中,我将第二个管理员导入为BP_admin,但尚未使用。但是,当我访问我的 http://127.0.0.1:8000/admin 端点时,可以理解的是,我只能查看在第一个文件中注册的“测试”class。知道如何让我的第二个文件中的其他 2 classes 注册到第一个文件的端点吗?
谢谢!
Admin 只是模型,因此导入模型应该就足够了。您可以添加:
from project.pages.basicpage import models as BP_models
@admin.register(models.Test)
...
@admin.register(BP_models.Platform)
class Platform(models.Platform):
pass
你也可以简化而不使用 class:
@admin.register(models.Test, BP_models.Platform,....)