出于某种原因,我的/ 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)
答案 0 :(得分:0)
请参阅以下解决方案: No access to models in admin panel with DEBUG=False
引用:
好的,我找到了我的问题的原因。这是因为注册我的 管理面板中的模型来自具有模型定义的文件。当我搬家 我所有的注册到一个外部文件admin.py,然后一切 工作正常。
答案 1 :(得分:0)
我没有直接回答您的问题,但我确实有一些个人见解。首先,使用Bitnami Django堆栈可能是个问题。我曾经使用过几次,而且我再也不会这样了。设置绝对不是理想的,并且有太少的文档可用于使您的生活更容易(等等,不是使用Bitnami堆栈的全部意义吗?)。
我会开始查看你的日志(特别是apache错误日志和postgres错误日志),我打赌那里有一些东西可以指向你正确的方向。
我确信您从本地计算机运行开发服务器,该服务器的设置与Bitnami堆栈完全不同。更好的解决方案是将自己安装在一个准系统的Ubuntu服务器上。然后,您将更加熟悉设置。
你能做的最好的事情就是学习使用Vagrant。这将帮助您维护本地虚拟机实例,该实例与您的EC2框相同。您将使用ssh登录它,就像EC2框一样,您将在外部使用它,就像EC2框一样。您可以越接近开发环境到生产环境,这样的调试问题就越容易。
希望这不会让你的生活变得更加困难(严肃地说,如果你让Vagrant跑步,你的生活会变得更加容易)