py_Django的管理界面常见组件
自定义列表
对象显示
classAuthor(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=40)email=models.EmailField(blank=True,verbose_name='e-mail')def__unicode__(self):#显示的方式returnu'%s%s'%(self.first_name,self.last_name)
作者列表
fromdjango.contribimportadminfrommysite.books.modelsimportPublisher,Author,BookclassAuthorAdmin(admin.ModelAdmin):#用AuthorAdmin选项注册Author模块list_display=('first_name','last_name','email')############################admin.site.register(Publisher)admin.site.register(Author,AuthorAdmin)#admin.site.register()函数接受一个ModelAdmin子类作为第二个参数。admin.site.register(Book)
添加一个快速查询栏
classAuthorAdmin(admin.ModelAdmin):list_display=('first_name','last_name','email')search_fields=('first_name','last_name')#过滤的依据#############
为Book列表页添加一些过滤器
fromdjango.contribimportadminfrommysite.books.modelsimportPublisher,Author,BookclassAuthorAdmin(admin.ModelAdmin):list_display=('first_name','last_name','email')search_fields=('first_name','last_name')classBookAdmin(admin.ModelAdmin):list_display=('title','publisher','publication_date')list_filter=('publication_date',)#########################admin.site.register(Publisher)admin.site.register(Author,AuthorAdmin)admin.site.register(Book,BookAdmin)
一种过滤日期的方式是使用date_hierarchy选项
classBookAdmin(admin.ModelAdmin):list_display=('title','publisher','publication_date')list_filter=('publication_date',)date_hierarchy='publication_date'#请注意,date_hierarchy接受的是*字符串*,而不是元组。
改变默认的排序方式
classBookAdmin(admin.ModelAdmin):list_display=('title','publisher','publication_date')list_filter=('publication_date',)date_hierarchy='publication_date'ordering=('-publication_date',)#按publicationdate降序排列小箭头显示排序
自定义编辑表单
classBookAdmin(admin.ModelAdmin):list_display=('title','publisher','publication_date')list_filter=('publication_date',)date_hierarchy='publication_date'ordering=('-publication_date',)fields=('title','authors','publisher','publication_date')#fields内表示可编辑的我们可以隐藏publication_date,以防止它被编辑。如:fields=('title','authors','publisher')#这里的顺序会影响显示的顺序
filter_horizontal
classBookAdmin(admin.ModelAdmin):list_display=('title','publisher','publication_date')list_filter=('publisher',)date_hierarchy='publication_date'ordering=('-publication_date',)fields=('authors','title','publisher','publication_date')##这个是顺序,翻译说要移除,原文明明是提醒读者不要移除filter_horizontal=('authors',)###########################publisher一定要在fields中
选择框
classBookAdmin(admin.ModelAdmin):...raw_id_fields=('publisher',)#######这条语句将默认是下拉框的变成文本框(旁边的放大镜可弹框选择)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。