码迷,mamicode.com
首页 > 其他好文 > 详细

Django中Admin样式定制

时间:2016-08-02 13:35:42      阅读:136      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!