【问题标题】:Removing 'Sites' from Django admin page从 Django 管理页面中删除“站点”
【发布时间】:2011-08-10 04:20:31
【问题描述】:

Django 管理页面将“站点”作为默认对象。

这让用户感到困惑,因为我的应用程序还具有可通过管理页面访问的“站点”模型。

如何从页面中删除默认对象?

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    使用unregister:

    from django.contrib import admin
    from django.contrib.sites.models import Site
    
    admin.site.unregister(Site)
    

    我通常把这个放在:

    admin.autodiscover()
    

    在 urls.py 中

    【讨论】:

    • 按照 kovshenin 的建议从 INSTALLED_APPS 中取消注释 django.contrib.sites 会更好。
    【解决方案2】:

    也许从您的 settings.py 文件中的 INSTALLED_APPS 元组中注释掉 django.contrib.sites 会有所帮助。

    【讨论】:

    • 在syncdb之后这将导致错误并且您的应用程序将无法启动
    • @user35186 这是不正确的!.. 如果不使用“站点”模块,则此错误不会出现!
    • 这个选项对我也不起作用。如果站点模块已经安装,这将给出一个错误。不适用于现有网站。