6

出于某种原因,我的 /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)
4

2 回答 2

0

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

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

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

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

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

于 2013-02-22T17:34:16.330 回答
0

请参阅以下解决方案: 在 DEBUG=False 的管理面板中无法访问模型

引用:

好的,我找到了问题的原因。这是由于在管理面板中从具有模型定义的文件中注册我的模型引起的。当我将所有注册移至一个外部文件 admin.py 时,一切正常。

于 2013-02-17T17:53:59.210 回答