在Django中,可以通过定制AdminSite来控制哪些应用程序在管理员界面中显示。为了覆盖AdminSite,你可以按照以下步骤进行操作:
from django.contrib.admin import AdminSite
class CustomAdminSite(AdminSite):
def get_app_list(self, request):
app_list = super().get_app_list(request)
# 在这里移除不想显示的应用程序
app_list = [app for app in app_list if app['app_label'] != 'your_app_label']
return app_list
admin.py
文件中注册你的模型,并将其与自定义的AdminSite类关联:from django.contrib import admin
from .models import YourModel
admin_site = CustomAdminSite(name='custom_admin')
admin_site.register(YourModel)
urls.py
文件中,将自定义的AdminSite与URL路径绑定:from django.urls import include, path
from .admin import admin_site
urlpatterns = [
# ...
path('custom_admin/', admin_site.urls),
# ...
]
这样,你的应用程序将不会在默认的Django管理员界面中显示,而是可以通过访问/custom_admin/
路径来访问自定义的管理员界面。
以上是覆盖AdminSite使admin.py成为另一个在Django管理员中不显示的应用程序的方法。在这个过程中没有直接提到腾讯云的相关产品,如果你需要将Django应用部署到云平台上,腾讯云提供了诸如云服务器、容器服务、函数计算等多种产品,你可以根据实际需求选择合适的腾讯云产品进行部署。
领取专属 10元无门槛券
手把手带您无忧上云