1.

ModelAdmin.inlines

将有外键的子类包含进视图 ,实例:

class Author(models.Model):
name = models.CharField(max_length=100) class Book(models.Model):
author = models.ForeignKey(Author)
title = models.CharField(max_length=100)
class BookInline(admin.TabularInline):
model = Book class AuthorAdmin(admin.ModelAdmin):
inlines = [
BookInline,
]

2.

list_display = ('first_name', 'last_name')

列表显示字段。记住:他不会显示manytomany字段

特殊用法:

class Person(models.Model):
first_name = models.CharField(max_length=50)
birthday = models.DateField() def born_in_fifties(self):
return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'born_in_fifties')

将生日为195的设置为true,并且显示对号或者横线。 用途,学生成绩是否及格,当大于60设置为true。

list_display = ('__unicode__', 'some_other_field')
colored_first_name.admin_order_field = 'first_name'

设置字段排序

list_display_links = ('first_name', 'last_name')

设置超链接字段

3.ModelAdmin.list_editable

设置列表字段是否可以编辑,常用语文章更改目录,修改某些非外键字段。不过外键也可以修改,如果某个字段设置为links,则该字段不能被修改

#    raw_id_fields = ('goods',)
#    list_editable=('goods','price','num','producer','in_times','is_active')

4.

list_filter = ('is_staff', 'company')

过滤字段。

自定义过滤字段:

from datetime import date

from django.utils.translation import ugettext_lazy as _
from django.contrib.admin import SimpleListFilter class DecadeBornListFilter(SimpleListFilter):
title = _('decade born')#过滤标题 # 设置url参数,?decade='80s'
parameter_name = 'decade' def lookups(self, request, model_admin):
"""
值,显示属性
"""
return (
('80s', _('in the eighties')),
('90s', _('in the nineties')),
) def queryset(self, request, queryset):
"""
过滤
"""
if self.value() == '80s':
return queryset.filter(birthday__gte=date(1980, 1, 1),
birthday__lte=date(1989, 12, 31))
if self.value() == '90s':
return queryset.filter(birthday__gte=date(1990, 1, 1),
birthday__lte=date(1999, 12, 31)) class PersonAdmin(ModelAdmin):
list_filter = (DecadeBornListFilter,)
from django.contrib.admin import BooleanFieldListFilter

class PersonAdmin(ModelAdmin):
list_filter = (
('is_staff', BooleanFieldListFilter),
)

boolean类型的filter

class FilterWithCustomTemplate(SimpleListFilter):
template = "custom_template.html"

自定义过滤器模板默认模板 admin/filter.html

5.

list_max_show_all

显示全部 最大数据,总数据超过该数据将不显示显示全部

list_per_page

没页显示数据条数

ordering

排序

class ArticleAdmin(admin.ModelAdmin):
prepopulated_fields = {"字段1": ("ziduan2",)}

当字段1填写数据的同时,字段2也同时被填充,数据一致

class PersonAdmin(admin.ModelAdmin):
radio_fields = {"group": admin.VERTICAL}

单选按钮,适用于开关(必须填)。如是否有效

class ArticleAdmin(admin.ModelAdmin):
raw_id_fields = ("newspaper",)

外键选择

from django.utils.html import format_html_join
from django.utils.safestring import mark_safe class PersonAdmin(ModelAdmin):
readonly_fields = ('address_report',) def address_report(self, instance):
# assuming get_full_address() returns a list of strings
# for each line of the address and you want to separate each
# line by a linebreak
return format_html_join(
mark_safe('<br/>'),
'{0}',
((line,) for line in instance.get_full_address()),
) or "<span class='errors'>I can't determine this address.</span>" # short_description functions like a model field's verbose_name
address_report.short_description = "Address"
# in this example, we have used HTML tags in the output
address_report.allow_tags = True

只读,注意:可以向模板页面一样格式化数据,同时给只读属性增加自定义样式。

6.

6.ModelAdmin.save_as

当是修改数据的时候,将新增一个替换为保存为新的,并且旧的不替换,新增id保存

7.

ModelAdmin.save_on_top

设置保存按钮到顶部!

8.

search_fields = ['foreign_key__related_fieldname']

设置搜索。

django admin site配置(二)的更多相关文章

  1. Django Admin site 显示问题

    Django Admin site 显示问题 今天配置了一下Django admin site,可是admin site的显示有一些问题,当我打开源码.訪问里面的admin 的css 文件时候,htt ...

  2. Django admin参数配置

    admin参数配置 一. admin 启动 admin: Django的后台数据管理的web版本 针对Food表,url: http://127.0.0.1:8000/admin/app02/food ...

  3. Django admin site(一)ModelAdmin Options

    Admin管理界面是django的杀手级应用.它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即向网站中添加内容. 要使用admin,可以按照下面的步骤: 将'dj ...

  4. Django admin site应用

    django自带的admin后台管理,可以实现对数据库表的增删改查,用起来十分方便.其使用和配置主要分为三个步骤: 1,创建超级用户 需要创建超级用户来登陆admin后台系统,在命令行中输入 pyth ...

  5. 如何给django admin.py配置超级管理员?注册表格?

    admin.py是django给我们提供的功能非常强大的后台,况且支持拓展,,如果你要是觉得admin的后台不够牛逼你可以自己写一个!如何自己写一个后台,后面我有时间了会给大家更新!一起学习!一起进步 ...

  6. Django admin site(三)InlineModelAdmin

    InlineModelAdmin class InlineModelAdminclass TabularInlineclass StackedInline 举例,有两个Model: from djan ...

  7. Django admin site(二)ModelAdmin methods

    ModelAdmin methods save_model(request, obj, form, change) 此方法为admin界面用户保存model实例时的行为.request为HttpReq ...

  8. django admin site (三)

    1.自定义模板设置: ModelAdmin. add_form_template Path to a custom template, used by add_view(). ModelAdmin. ...

  9. 【Django admin 中文配置】

    打开settings.py文件,找到语言编码.时区的设置项,将内容改为如下: [其中 zh-Hans是简体中文 zh-Hant是繁体中文] LANGUAGE_CODE = 'zh-Hans' # LA ...

随机推荐

  1. ASP.NET 时间方法大全

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(- Convert.ToInt32(dt.DayOfWeek.To ...

  2. jstl表达式

    JSTL标签库 1.什么是JSTL JSTL是apache对EL表达式的拓展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便, 它与JSP动作标签一样,只不过它不是JSP ...

  3. Qt 获取usb设备信息 hacking

    /************************************************************************** * Qt 获取usb设备信息 hacking * ...

  4. HDU 5339 Untitled (暴力枚举)

    题意:给定一个序列,要求从这个序列中挑出k个数字,使得n%a1%a2%a3....=0(顺序随你意).求k的最小值. 思路:排个序,从大的数开始模起,这是因为小的模完还能模大的么? 每个元素可以选,也 ...

  5. 解决Eclipse快捷键被其他软件占用

    做为一个java攻城狮,eclipse是我最常用的攻城设备,eclipse快捷键 极大的提高了我的开发效率!!!! 前段时间升级了一下我的战斗装备——给电脑的系统盘换成了一个固态硬盘,因此需要重装系统 ...

  6. 【英语】Bingo口语笔记(70) - 最易忽略的2个连读技巧

  7. SAS9.4 安装注意事项

    OS:Windows Server 2012 R2 SAS:9.4 TS1M1 SAS9.4的安装需要注意的地方: 一. 注意开启Shortname(装了N遍,最容易忘记的地方) SAS安装使用Sho ...

  8. 在ACCESS中创建数据库和查询(ACCESS 2000)

    备份还原数据库 备份.还原 —— 复制\粘贴 压缩修复数据库命令 —— 复制该文件并重新组织,并重新组织文件在磁盘上的储存方式.压缩同时优化了Access数据库的性能.(工具——实用数据库工具或者工具 ...

  9. Android应用性能优化之使用SQLiteStatement优化SQLite操作

    平常在做Android数据库操作时,都是用的execSQL之个方法. 今天偶然发现了SQLiteStatement这个类.让我想起了在做Java Web开发写JDBC的代码时Prestatement这 ...

  10. npoi z

    http://blog.csdn.net/fireghost57/article/details/25623143 http://www.cnblogs.com/jiagoushi/archive/2 ...