首页 > 其他 > 详细

Django中Admin样式定制

时间:2016-08-02 13:34:49      阅读:169      评论:0      收藏:0      [点我收藏+]

Django自带的admin在展示数据是样式有点单一,我们可以自己定义数据的展示样式。

 

1、后台查询书记列表时,同时列出出版社和出版时间:

admin.py文件

from django.contrib import admin

import models

class BookAdmin(admin.ModelAdmin):
    list_display = (name,publisher,publication_date)    #展示

admin.site.register(models.Author)
admin.site.register(models.Publisher)
admin.site.register(models.Book,BookAdmin)

这样,展示效果如下图:

技术分享

 

 

2、添加搜索框

admin.py

from django.contrib import admin


import models

class BookAdmin(admin.ModelAdmin):
    list_display = (name,publisher,publication_date)
    search_fields = (name,publisher__name)   #搜索,__表示需要关连到其他表中查询

admin.site.register(models.Author)
admin.site.register(models.Publisher)
admin.site.register(models.Book,BookAdmin)

这样,就有搜索框了:

技术分享

 

3、添加过滤器

admin.py

from django.contrib import admin

import models

class BookAdmin(admin.ModelAdmin):
    list_display = (name,publisher,publication_date)
    search_fields = (name,publisher__name)
    list_filter = (name,publisher,publication_date)   #过滤

admin.site.register(models.Author)
admin.site.register(models.Publisher)
admin.site.register(models.Book,BookAdmin)

这样,在admin页面的右侧就添加了一个过滤器

 

技术分享

 

4、编辑每行字段

admin.py

from django.contrib import admin

import models

class BookAdmin(admin.ModelAdmin):
    list_display = (id,name,publisher,publication_date)
    search_fields = (name,publisher__name)
    list_filter = (name,publisher,publication_date)
    list_editable = (name,publisher,publication_date)    #可编辑的字段,注意,默认第一个字段不可编辑,因此添加‘id‘为第一个字段

admin.site.register(models.Author)
admin.site.register(models.Publisher)
admin.site.register(models.Book,BookAdmin)

效果如下:

技术分享

 

Django中Admin样式定制

原文:http://www.cnblogs.com/ahaii/p/5728499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!