zoukankan      html  css  js  c++  java
  • Django后台admin的使用

    1.简述

    Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表注册到后台管理中

    2.创建数据库表

    在此处为了便于演示,我们在models创建一张img数据表规则
    img数据表
    图中 verbo_name 是在admin界面显示表字段的名称,定义的class Meta中的verbo_name是在admin界面显示的表名

    3.修改admin.py文件

    from django.contrib import admin
    from app1 import models
    # Register your models here.
    
    admin.site.register(models.img) #将表在admin中注册
    

    4.启动服务,进入界面

    python manage.py makemigrations #生成创建数据表py文件
    python manage.py migrate #执行py文件,更新数据库
    python manage.py runserver #启动服务
    

    访问admin
    admin界面
    输入设置的账号密码,进入界面
    在这里插入图片描述
    默认的功能可以对表进行简单的增删改查,如果需要批量更新之类的操作,则需要定制相应动作

    5.自定义表显示内容:

    我们选择进入我们创建的表的界面的时候,默认显示的内容是object
    默认表内容
    可以在models.py中的相应表写下定义__str__的字段
    在这里插入图片描述
    效果如下
    在这里插入图片描述

    默认显示的内容只有一个,我们可以通过定义ModelAdmin中的list_display来修改它:

    from django.contrib import admin
    from app1.models import img
    # Register your models here.
    
    class imgAdmin(admin.ModelAdmin):
        list_display = ('title','summary','file')
        
    
    admin.site.register(img,imgAdmin)
    

    在这里插入图片描述
    点击一条数据后,将默认显示每个字段不是一个AutoField并且editable=True在单个字段集中具有与模型中定义的字段相同的顺序。
    在这里插入图片描述

    我们可以定义ModelAdmin中的fields或exclude来修改它:

    class imgAdmin(admin.ModelAdmin):
        list_display = ('title','summary','file')
        fields = ('title',)
    
    

    在这里插入图片描述

    6.自定义动作

    默认动作只有删除一项
    在这里插入图片描述
    我们可以通过ModelAdmin自定义

    def change_up(modeladmin, request, queryset):  #定义动作
        queryset.update(stat='1')
    change_up.short_description = "up" #重写动作显示名称
    
    def change_down(modeladmin, request, queryset):
        queryset.update(stat='0')
    change_down.short_description = "down"
    
    
    
    class imgAdmin(admin.ModelAdmin):
        list_display = ('title','summary','file','stat')
        fields = ('title',)
        actions = [change_up,change_down] #绑定动作
    

    在这里插入图片描述

  • 相关阅读:
    Qt之qInstallMessageHandler(重定向至文件)
    linux下MySQL安装及设置
    Apache2 同源策略解决方案
    BSD和云 – 不可错过的BSD聚会
    Nginx转发地址解决跨域问题
    Nginx下css的链接问题
    nginx 基本操作
    Azure 媒体服务可将优质内容传输至 Apple TV
    支付宝接口
    drf过滤组件
  • 原文地址:https://www.cnblogs.com/lemonbk/p/11146609.html
Copyright © 2011-2022 走看看