本文目录


    Django给admin后台添加自定义动作(Action)的方法

    在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操作, 比如批量删除,修改等

    同样的我们也可以添加自己的指令。 创建一个Django项目的某个App下的admin.py

    from django.contrib import admin
    from .models import Article
    
    #将Article注册到后台
    @admin.register(Article)
    class ArticleAdmin(admin.ModelAdmin):
      # 后台列表展示的字段
      list_display = ('title', 'status')
      # 动作集合 修改为字符串
      actions = ['make_article_published']
      # 指令处理函数,参数固定写法
      def make_article_published(self, request, queryset):
        # queryset 是从数据库查询到的model set
        # 更新status状态为p,在此处就是Article
        queryset.update(status='p')
        # 操作完成后的提示信息
        self.message_user(request, '修改成功')
      # 此指令的名称
      make_article_published.short_description = '更改状态为发布'

    重起服务器,执行动作(action)修改状态,执行成功,而且还有提示信息。 6ac40b2d51c005106a26b0ae94f44eca.png

    ed1b1842cc4f31f79fcacbc33d149e80.png

    原文链接

    文章作者:  BigYoung
    版权声明:  本网站所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BigYoung !