应用程序只在Django admin中读取它不应该

时间:2013-06-03 11:30:23

标签: python django django-admin

我的问题:当我部署网页并在DEBUG = False中设置settings.py时,转到管理界面我只会看到一个应用模型的黑色条目。就像我设置has_change_permission(): return False一样。但是我没有设置任何has_X_permission。虽然我确实尝试添加has_change_permission(): return True来强制执行但没有成功。

我没有收到任何错误。问题似乎只有在使用apache部署时才出现,至少我无法与嵌入式manage.py runserver网络服务器一起重现问题。

由于我没有得到任何错误,我有点卡住了:(

更多信息:

编辑哪些有效,哪些无效:

  • manage.py runserver DEBUG=True 有效
  • manage.py runserver DEBUG=False 有效
  • apache DEBUG=True 有效
  • apache DEBUG=False 不起作用

生成模型的代码:

class Belegung(models.Model):
    name = models.CharField(max_length=40)
    bemerkung = models.TextField(max_length=200, blank=True)
    begin = models.DateField()
    ende = models.DateField()

    def __unicode__(self): ...

    class Meta:
        verbose_name_plural = "Belegungen"
        ordering = ['begin']


class CalendarContent(mainpage.ContentBlock):
    month = models.DateField()

    def __unicode__(self): ...
    def save(self, *args, **kwargs): ...
    def headline(self): ...
    def nexturl(self): ...
    def prevurl(self): ...
    def extract_begin_end(self, entries, day):...
    def weeks(self): ...


class BelegungAdmin(admin.ModelAdmin):
    list_display = ["name", "bemerkung", "begin", "ende"]
    list_filter = ["begin"]
admin.site.register(Belegung, BelegungAdmin)


class CalendarContentAdmin(admin.ModelAdmin):
    exclude = ('content_type',)
    pass
admin.site.register(CalendarContent, CalendarContentAdmin)

settings.py我将应用包含在已安装的应用中。

DEBUG=True模式下,一切都按预期工作。当DEBUG=False部署在apache webserver上时,模型条目为黑色。但是我仍然可以在网页上使用已输入的模型。

模型看起来很简单CalendarContent中的方法是来自模板的其他数据库查询......

我是否需要解锁我的应用以进行读写?

可以使应用只读的原因是什么?

1 个答案:

答案 0 :(得分:0)

对于任何有同样问题的人。似乎缺少单独的admin.py文件会导致此问题。根据文档,admin.py文件不是必需的,但它会以某种方式导致此问题。