25-站点管理

发布时间 2023-03-28 18:40:40作者: 测试圈的彭于晏

站点管理

# 1. 配置admin应用
    django.contrib.admin # 自己已经配置好

# 2. 创建管理员用户
    python3 manage.py createsuperuser
    依次输入用户名>邮箱一密码->确认密码
# 3. 创建模型类
    class BookInfo(models.Model):
    # verbose_name: 后台管理显示中文名
    name = models.CharField(max_length=30, verbose_name="书名")
    pwd = models.CharField(max_length=30, verbose_name="密码")
    ssex = models.IntegerField(db_column="sex",verbose_name="性别")

    class Meta:
        db_table = "bookinfo"
        verbose_name = "图书表"

   # bool值显示男女
    def sex(self):
        if self.ssex:
            return "男"
        else:
            return "女"
        # sex.short_description="性别"
# 4. 在App/admin.py 里面注册自己的模型类
    from App03.models import BookInfo # 模型类
  
    # 用户管理(127.0.0.1:8000/admin/)
    class BookInfoAdmin(admin.ModelAdmin):
        # 显示字段
        list_display = ["pk", "name", 'pwd','sex']

        # 按照那个字段名搜索
        search_fields = ["name"]

        # 分页
        list_per_page = 2

        # 过滤字段(和搜索差不多)
        list_filter = ["name"]

        # 添加时信息分组
        fieldsets = [
            ("基本信息", {"fields": ["name"]}),
            ("其他信息", {"fields": ["pwd"]}),
        ]



    # 注册模型类 在后台展示 
    admin.site.register(BookInfo,BookInfoAdmi) 
    ... 
# 关联对象
#TabularInline 横着展示添加学生的布局
#StackedInline 竖着展示添加学生的布局
# class AddStudents(admin .TabularInline):

class AddStudents(admin.StackedInline):
class AddStudents(admin.TabularInline):
    model = Students #关联的模型名称
    extra = 2 #添加学生的个数

#配置数据的展示
class GradeAdmin(admin.ModelAdmin):
    inlines = [AddStudents]