打开.../sign/admin.py文件
from django.contrib import admin
from sign.models import Event,Guest
# Register your models here.
admin.site.register(Event)
admin.site.resister(Guest)
这些代码通知Admin管理工具为这些模块逐一提供界面。
登录admin后台:http://127.0.0.1:8000/admin(admin/admin123456)。
如图4.1所示,现在单击Events对应的“Add”添加一条发布会信息。
如图4.2所示,显示的是一条发布会信息,默认只有发布会名称,这与创建model时设置的_str_()方法有关,默认返回self.name,即发布会名称。
如何才能显示表中的更多字段呢?继续修改.../sign/admin.py文件。
from django.contrib import admin
from sign.models import Event,Guest
# Register your models here.
class EventAdmin(admin,ModelAdmin):
list_display = ['id','name','status','address','start_time']
class GuestAdmin(admin.ModelAdmin):
list_display = ['relname','phone','email','sign','create_time','event']
admin.site.register(Event,EventAdmin)
admin.site.register(Guest,GuestAdmin)
Django提供了大量选项让你针对别的模块自定义管理工具。这些选项都在ModelAdmin类中,创建EventAdmin类ModelAdmin。这里只定义了一项:list_display,它是一个字段名称的数组,用于定义要在列表中显示哪段字段。当然,这些字段名称必须是模型中的Event()类所定义的。
修改admin.site.register()方法,添加EventAdmin类。你可以这样理解:用EventAdmin选项注册Event模块。
对于Guest模块来说,操作步骤同上。保存修改的代码,重新刷新Events列表,如图4.3所示。
添加一条嘉宾(Guest)信息,如图4.4所示。
除此之外,还可以快速地生成搜索栏和过滤器。重新打开.../sign/admin.py文件,做如下修改。
......
# Register your models here.
class EventAdmin(admin.ModelAdmin):
list_display = ['name','status','start_time','id']
search_fields = ['name'] #搜索栏
list_filter = ['status'] #过滤器
class GuestAdmin(admin.ModelAdmin)
list_display = ['realname','phone','email','sigin','create_time','event']
search_fields = ['realname','phone'] #搜索栏
list_filte = ['sign'] #过滤器
....
search_fields用于创建表字段的搜索器,可以设置搜索关键字匹配多个表字段。
list_filter用于创建字段过滤器。
图4.5所示为Events列表的搜索栏和过滤器。