【问题标题】:Django Admin Pages making my models unclickableDjango Admin Pages 使我的模型无法点击
【发布时间】:2013-02-13 00:36:28
【问题描述】:

由于某种原因,我的 /admin 页面使我定义的模型无法编辑。这是在我使用 apache 和 postgres 部署的服务器上。我以超级用户身份登录,并显示如下链接:

如果我在连接到 postgres 的开发服务器中本地查看相同的代码,它看起来像这样:

知道是什么原因造成的吗?

** 更新**

所以它并不总是被阻止。我今天登录并且可以访问一些操作(我从我的数据库中清除了一些虚假的电子邮件请求),但是在删除了一些行之后它又回到了只读状态。

仍然不知道是什么原因造成的。

home.models.py:

from django.db import models
from django import forms
from django.utils import timezone

class EmailRequest(models.Model):
    email = models.EmailField()
    created_date = models.DateTimeField(default=timezone.now())


class EmailRequestForm(forms.Form):
    email = forms.EmailField()

home.admin.py:

from django.contrib import admin
from home.models import EmailRequest

class EmailRequestAdmin(admin.ModelAdmin):
    list_display = ('email', 'created_date')

admin.site.register(EmailRequest, EmailRequestAdmin)

【问题讨论】:

  • 可能是角色设置吗?由于此设置存储在数据库中。
  • 检查您是否真的拥有超级用户身份。
  • @sneawo 是的,我愿意。奇怪的是它是零星的,所以有时我确实可以访问,然后它就消失了。
  • @RickardZachrisson 我不认为这是角色设置,我是超级用户,只是作为测试的一部分,我向我的用户添加了所有用户权限(这应该是多余的,因为我是超级用户)。
  • 您的开发服务器是否配置为 WSGI 守护程序模式,但您的生产服务器可能没有?

标签: django django-models django-admin


【解决方案1】:

对于您的问题,我没有直接的答案,但我确实有一些个人见解。首先,使用 Bitnami Django 堆栈可能是个问题。我已经用过几次了,以后再也不会了。该设置绝对不是理想的,并且可用的文档太少,无法让您的生活更轻松(等等,这不是使用 Bitnami 堆栈的全部意义吗?)。

我会开始查看您的日志(特别是 apache 错误日志和 postgres 错误日志),我敢打赌那里有一些东西可以为您指明正确的方向。

我确定您正在从本地计算机运行开发服务器,该计算机的设置与 Bitnami 堆栈完全不同。更好的解决方案是自己在准系统 Ubuntu 服务器上安装所有内容。然后,您将对设置更加熟悉。

你能做的最好的事情就是去学习使用Vagrant。这将帮助您维护一个与您的 EC2 盒子相同的本地虚拟机实例。您将像 EC2 盒子一样使用 ssh 登录它,并且您将在外部使用它,就像 EC2 盒子一样。开发环境越接近生产环境,此类调试问题就越容易。

希望这没有让你的生活变得更困难(说真的,如果你让 Vagrant 跑步,你的生活会变得更轻松)

【讨论】:

  • 谢谢你,我很感激。是的,我确实使用 bitnami 试图让我的生活更轻松,但看起来我正在手动进行自定义配置。
  • 老实说,事后您会更开心,只需记录您如何设置所有内容的每一步,然后您就可以轻松地手动复制它......或在引导脚本中......(咳咳)
  • 我接受这个作为答案。我从来没有具体弄清楚,但是放弃 bitnami 堆栈可以清理它。
【解决方案2】:

请参阅以下解决方案: No access to models in admin panel with DEBUG=False

引用:

好的,我找到了问题的原因。这是由于注册我的 管理面板中的模型来自具有模型定义的文件。当我搬家时 我所有的注册到一个外部文件 admin.py,然后一切 工作正常。

【讨论】:

  • 这并不能回答我的问题。我在最初尝试调试时阅读了该问题,但我的问题不同。在我的情况下,DEBUG 是 True 还是 False 没有区别。此外,我已经按照他们的建议使用 home.admin.py 和 home.models.py 构建了我的文件。
猜你喜欢
  • 2013-04-13
  • 1970-01-01
  • 2019-08-04
  • 2021-05-16
  • 2011-07-01
  • 2015-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多