打开.../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 列表的搜索栏和过滤器。
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论