如何使用(admin.ModelAdmin)为轮询应用程序创建一个类

时间:2012-09-28 16:13:23

标签: django

我正在http://lightbird.net/dbe/todo_list.html处理Django教程。我完成了Django的官方教程。当我尝试同步时

from django.db import models
from django.contrib import admin

class Item(models.Model):
    name = models.CharField(max_length=60)
    created = models.DateTimeField(auto_now_add=True)
    priority = models.IntegerField(default=0)
    difficult = models.IntegerField(default=0)

class ItemAdmin(admin.ModelAdmin):
    list_display = ["name", "priority", "difficult", "created", "done"]
    search_fields = ["name"]

admin.site.register(Item, ItemAdmin)

终端回来时发出错误消息称管理员未定义。我究竟做错了什么?我如何定义管理员?

更新:我现在添加了整个模型文件

1 个答案:

答案 0 :(得分:0)

The Django documentation列出了激活管理网站需要执行的多个步骤:

  
      
  1. 将'django.contrib.admin'添加到您的INSTALLED_APPS设置

  2.   
  3. 管理员有四个依赖项 - django.contrib.auth,django.contrib.contenttypes,django.contrib.messages和   django.contrib.sessions 即可。如果这些应用程序不在你的   INSTALLED_APPS列表,添加它们。

  4.   
  5. 将django.contrib.messages.context_processors.messages添加到TEMPLATE_CONTEXT_PROCESSORS和MessageMiddleware   MIDDLEWARE_CLASSES。 (默认情况下这些都是活动的,所以你只能这样做   如果您手动调整设置,则需要执行此操作。)

  6.   
  7. 确定应在管理界面中编辑哪些应用程序模型。

  8.   
  9. 对于每个模型,可以选择创建一个模拟自定义管理功能和选项的ModelAdmin类   那个特殊的模特。

  10.   
  11. 实例化AdminSite并告诉它每个模型和ModelAdmin类。

  12.   
  13. 将AdminSite实例挂钩到您的URLconf中。列出了一些你必须要做的事情,启用Django的管理站点。

  14.   

如果您还没有完成前两项,syncdb可能会抱怨,因为它无法找到管理员应用。