首页 > 其他 > 详细

Django admin简介

时间:2019-04-01 20:50:45      阅读:158      评论:0      收藏:0      [点我收藏+]

admin 是django 自带的用来让你进行数据库管理的web app.
python manage.py startproject app01 创建项目时候自动创建admin
创建超级用户:

python manage.py createsuperuser name

  admin注册表;

1 from django.contrib import admin
2 from app01 import models
3  
4  
5 admin.site.register(models.CustomerInfo) 
6 admin.site.register(models.Account)

定制admin;

1 # 自定义admin
2 class CustomerAdmin(admin.ModelAdmin):
3     list_display = [name, source, contact_type, contact, consultant, consult_content, status,date]   #展示哪些列
4     list_filter = [source, consultant, status, date]  #过滤
5     search_fields = [contact,consultant__name]
6    fields = [‘title‘,‘account‘,‘pub_date‘]    #
fields 决定对表进行修改时展示哪些字段
    fields = [‘title‘,‘account‘,(‘pub_date‘,‘read_count‘)]  #还可以多个字段显示在一行
    list_per_page = 20 每页显示20条数据
    radio_fields={‘account’:admin.VERTICAL} 把外键或choice字段由下拉框变成单选框
    autocomplete_fields = [‘account‘,] 自动补全,外键查询数据多时,方便查找
    readonly_fields = (‘address_report‘,)  只读字段
    search_fields = [‘account__username‘,‘title‘] 模糊查找





    #exclude 不展示哪些字段  date_hierarchy = ‘pub_date‘  按日期分类显示数据
8 admin.site.register(models.CustomerInfo, CustomerAdmin)

fieldsets分组展示

    class ArticleAdmin(admin.ModelAdmin):
    list_display = (title,pub_date,account,read_count)
    date_hierarchy = pub_date
 
    fieldsets = ((文章相关,{
        fields:(title,content),
        classes: (wide, extrapretty),
    }),(高级,{
        classes:(collapse,),
        fields:((account,read_count),pub_date)
    }))

上面的classes 是用于设定字段样式,2个默认自带的样式是collapse 和wide

filter_horizontal,filter_vertical 均用于多对多字段 
filter_horizontal = [tags,]

颜色和样式

from django.utils.html import format_html
<br>class Tag(models.Model):
    """文章标签表"""
    name = models.CharField(max_length=64,unique=True)
    date = models.DateTimeField(auto_now_add=True)
    color_code = models.CharField(max_length=6)
 
    def colored_name(self):
        return format_html(
            <span style="color: #{};">{}</span>,
            self.color_code,
            self.name,
        )
 
    def __str__(self):
        return self.name
1
2
class TagAdmin(admin.ModelAdmin):
    list_display = [name,colored_name]

 

Django admin简介

原文:https://www.cnblogs.com/Neroi/p/10638585.html

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