python开发---django 之 admin

首先需要配置管理员的账号密码,使用命令

python manager.py createsuperuser

如果需要在admin里面能够操作某张表,并且自定制显示表里某些列,或者可以直接编辑表里某些列

掌握一些常用的设置技巧

  •     list_display:     指定要显示的字段
  •     search_fields:  指定搜索的字段
  •     list_filter:        指定列表过滤器
  •     ordering:       指定排序字段
from django.contrib import admin
from app01.models import *  #首先把models里面的表类导入

# Register your models here.


class BookAdmin(admin.ModelAdmin):  #自定制Book表的admin
    list_display = ('id','name','price','pub_date')  #显示哪些字段,可根据字段排序
    list_editable = ('name','price')  #可以直接编辑的字段
    filter_horizontal = ('authors',)   #在某个字段上加入搜索框

    list_per_page = 3 #分页显示的条数
    
    search_fields = ("id","name","publish__name") #根据id、name、publish__name字段模糊匹配

    list_filter = ('pub_date','publish') #根据pub_date,publish字段精确匹配

    ordering = ("price",) #默认按照price字段升序,如果要降序的话就写为 ordering = ("-price"),可以设置多个字段

    fieldsets =[
        (None,               {'fields': ['title']}),
        ('price information', {'fields': ['price',"publisher"], 'classes': ['collapse']}),
    ]
#添加记录时,只显示必填字段'fields': ['title'] ,其他'price information'对应的字段影藏起来


#注册Book、Author、Publish表
admin.site.register(Book,BookAdmin)  #Book表使用自定制的Admin
admin.site.register(Author)
admin.site.register(Publish)

 

 

如果要该为中文界面

在setting.py中修改

LANGUAGE_CODE = 'zh-hans'

 

如果表字段要显示中文的话

在models.py里,如下

class Book(models.Model):
    name = models.CharField(max_length=32,verbose_name="姓名")

 

posted @ 2019-11-15 17:25  Mr-谢  阅读(128)  评论(0)    收藏  举报