py_Django的管理界面常见组件
2016-07-25 22:23
489 查看
自定义列表
对象显示
作者列表
添加一个快速查询栏
为Book列表页添加一些过滤器
一种过滤日期的方式是使用date_hierarchy选项
改变默认的排序方式
自定义编辑表单
filter_horizontal
选择框
对象显示
class Author(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): # 显示的方式 return u'%s %s' % (self.first_name, self.last_name)
作者列表
from django.contrib import admin from mysite.books.models import Publisher, Author, Book class AuthorAdmin(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)
添加一个快速查询栏
class AuthorAdmin(admin.ModelAdmin): list_display = ('first_name', 'last_name', 'email') search_fields = ('first_name', 'last_name') # 过滤的依据 #############
为Book列表页添加一些过滤器
from django.contrib import admin from mysite.books.models import Publisher, Author, Book class AuthorAdmin(admin.ModelAdmin): list_display = ('first_name', 'last_name', 'email') search_fields = ('first_name', 'last_name') class BookAdmin(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选项
class BookAdmin(admin.ModelAdmin): list_display = ('title', 'publisher', 'publication_date') list_filter = ('publication_date',) date_hierarchy = 'publication_date' # 请注意,date_hierarchy接受的是* 字符串* ,而不是元组。
改变默认的排序方式
class BookAdmin(admin.ModelAdmin): list_display = ('title', 'publisher', 'publication_date') list_filter = ('publication_date',) date_hierarchy = 'publication_date' ordering = ('-publication_date',) # 按publication date降序排列 小箭头显示排序
自定义编辑表单
class BookAdmin(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
class BookAdmin(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 中
选择框
class BookAdmin(admin.ModelAdmin): ... raw_id_fields = ('publisher',) ####### 这条语句将默认是下拉框的变成文本框(旁边的放大镜可弹框选择)
相关文章推荐
- 模拟xcopy的函数
- 浅析Python中的 if __name__ == '__main__'
- 在一个centos6上安装多个不同版本python
- python中的map、filter、reduce函数
- python linecache模块读取文件的方法
- python_类属性和实例属性
- Python_实例方法、类方法、静态方法
- python_类方法
- python_继承
- python_gui之tk
- python_socket
- 【转】Python Anaconda简介及安装
- py,pyc,pyo的区别
- pip 升级包 技巧 一键升级
- win10 安装 Python 和 pip 详解
- Ubuntu-14.04. sh .py腳本双击無法執行问题的解决方法
- ElementTree排序问题
- python学习笔记
- 跟我学Python系列 -Map()函数的理解
- Python第一天