【问题标题】:Django. You don't have permission to edit anything姜戈。您无权编辑任何内容
【发布时间】:2011-04-12 16:43:21
【问题描述】:

我不久前创建了一个小应用程序。我创建了 admin.py 并使用 admin.site.register(MenuEntry) 将类添加到管理控制台。它很好地显示了该类的项目。 然后我开始开发另一个应用程序并像以前一样创建所有内容。但现在它说: 您无权编辑任何内容。 我比较了来自该应用程序的文件和来自此应用程序的文件,它们看起来非常相似,所以我找不到区别,我不知道现在该怎么做才能让它工作。

【问题讨论】:

  • 你能提供文件的差异吗?
  • 我解决了这个问题。我再次检查了文件并发现了不同之处。我忘了添加 admin.autodiscover()。现在它在那里,一切正常。谢谢!

标签: python django django-admin


【解决方案1】:

我又检查了一次文件,发现了不同之处。我忘了在项目的urls.py 中添加admin.autodiscover()。谢谢。

【讨论】:

  • 感谢您的建议。从 Django 1.7 降级到 1.6 时添加这个很重要!
【解决方案2】:

我遇到了另一个案例。我有一个名为“转录”的应用程序,有两个模型:项目和录音。在完成大部分开发后,我决定将应用程序重命名为“录音”。管理员应用程序作为管理员运行良好,但任何非管理员用户都会收到此错误消息。最终我(在我的 sqlite 数据库中)找到了 django_content_type 表。它有这些记录:

id 名称 app_label 模型 ------------------------------------- 8项目转录项目 9录音转录录音 10项目录音项目 11录音录音录音

一路上,我设法添加了两个(几乎 - 不知道为什么在记录 10 中“记录”)正确的记录,同时离开现在 不正确的记录完好无损。管理员用户工作得很好(我想知道为什么),但任何其他组都得到了错误。当我 查看 auth_group_permissions 我看到只分配了记录 8 和 9,当然还有 不再是一个叫做“转录”的应用程序。因此出现错误。

我删除了记录 10 和 11 并将 8 和 9 的 app_labels 更改为“记录”,并且很高兴 泥地。

【讨论】:

    【解决方案3】:

    将你的Django升级到1.7或更高版本,这个问题会自动解决。

    升级 Django:

    pip install -U django
    

    【讨论】:

      【解决方案4】:

      我只是简单地删除了所有当前安装的 Django 版本。然后重新安装最新版本的 Django 就可以了

      【讨论】:

        【解决方案5】:

        我收到了同样的错误并且不得不重构appname,因为它与正在使用的模块之一冲突。 我的app's 名字是admin,我也在使用Django 的admin

        查看链接 - Change app's name,了解如何操作。

        【讨论】:

          猜你喜欢
          • 2016-02-06
          • 2011-05-22
          • 2019-10-16
          • 2020-03-24
          • 2020-08-17
          • 1970-01-01
          • 2019-08-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多