Python 如何添加新列_Django Admin后台模型列表页面如何添加自定义操作按钮_python...

这篇文章主要介绍了Django Admin后台模型列表页面如何添加自定义操作按钮,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

你需要添加两个按钮:一个按钮使所有英雄都可以死亡,而另一个按钮使所有英雄永生。由于它会影响所有英雄,而与选择无关,因此这需要一个单独的按钮,而不是操作下拉菜单。

首先,我们要更改HeroAdmin管理模型使用的模板文件,以便我们可以添加两个按钮:


@(Hero)
class HeroAdmin(admin.ModelAdmin, ExportCsvMixin):
  change_list_template = "entities/"

然后,我们需要覆盖get_urls方法,并在管理模型上添加set_immortal和set_mortal方法。它们将用作两种view视图:


def get_urls(self):
  urls = super().get_urls()
  my_urls = [
    path('immortal/', ),
    path('mortal/', ),
  ]
  return my_urls + urls
def set_immortal(self, request):
  ().update(is_immortal=True)
  (request, "All heroes are now immortal")
  return HttpResponseRedirect("../")
def set_mortal(self, request):
  ().update(is_immortal=False)
  (request, "All heroes are now mortal")
  return HttpResponseRedirect("../")

最后,我们通过扩展admin/来创建模板文件entities/:


{% extends 'admin/' %}
{% block object-tools %}
  <div>
    <form action="immortal/" method="POST">
      {% csrf_token %}
        <button type="submit">Make Immortal</button>
    </form>
    <form action="mortal/" method="POST">
      {% csrf_token %}
        <button type="submit">Make Mortal</button>
    </form>
  </div>
  <br />
  {{  }}
{% endblock %}

3d54259033c0a378fa0d7a8d576b0fd3.png

在点击页面的make_mortal动作后,英雄全都可以死亡,你会看到如下消息提示。

640bad37206a3dd849a498af5be64255.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值