13DjangoAdmin后台配置

admin配置步骤:

创建管理账号:python manage.py createsuperuser

注册自定义模型类:

1在应用app中的admin.py中导入需要在admin后台管理的模型类例如:from .models import Book
2在应用app中的admin.py中调用admin.site.register()方法进行注册
#示例:
from django.contrib import admin
from .models import Book
# Register your models here.
admin.site.register(Book)

模型管理器类(修改admin后台风格):

使用方法:

1在<应用app>/admin.py里定义模型管理器类:

class bookManager(admin.ModelAdmin):
  ......

2绑定注册模型类和管理器类(注意先后顺序)

from django.contrib import admin
from .models import *
admin.site.register(Book,bookManager)

示例:

from django.contrib import admin
from .models import Book
# Register your models here.
class BookManager(admin.ModelAdmin):
  list_display = ['id','title','price','market_price']
admin.site.register(Book,BookManager)

常用高频使用的模型管理器:

1:list_display = ['id','title','price','market_price'] #admin后台要显示的标签字段

2:list_display_link = ['title'] #让title标签链接到修改页

3:list_filter = ['pub'] #以哪个字段进行过滤,类似于分类目录

4:search_fields = ['title'] #可以使用这个字段进行模糊查询,搜索框配置

5list_editable = ['price'] #添加可在列表页编辑的字段,与list_display_link互斥,两者不能使用相同字段

官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/contrib/admin/

示例:

from django.contrib import admin
from .models import Book
# Register your models here.
class BookManager(admin.ModelAdmin):
  #列表页显示那些字段
  list_display = ['id','title','price','market_price']
  #控制list_display中字段的超链接链接位置
  list_display_links = ['title']
  #添加过滤器(分类过滤查询)
  list_filter = ['pub']
  #添加搜索框模糊查询支持的字段
  search_fields = ['title']
  #添加可在列表页编辑的字段
  list_editable = ['price']
admin.site.register(Book,BookManager)

再谈Meta类:

class Book(models.Model):
  title = models.CharField("书名",max_length=50,default='',unique=True)
  class Meta:
      db_table = '修改数据表名'
      verbose_name = '控制模型类要在admin后台显示的名字'
      #如果不进行如下设置,默认国外会将超过2条以上的verbose_name名称后面添加s
      verbose_name_plural = verbose_name #让复数形态verbose_name_plural等于单数形态

 

posted @ 2021-12-01 08:55  linuxTang  阅读(92)  评论(0)    收藏  举报