最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django Admin后臺(tái)模型列表頁面如何添加自定義操作按鈕

 更新時(shí)間:2020年11月11日 10:46:56   作者:臨淵  
這篇文章主要介紹了Django Admin后臺(tái)模型列表頁面如何添加自定義操作按鈕,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

你需要添加兩個(gè)按鈕:一個(gè)按鈕使所有英雄都可以死亡,而另一個(gè)按鈕使所有英雄永生。由于它會(huì)影響所有英雄,而與選擇無關(guān),因此這需要一個(gè)單獨(dú)的按鈕,而不是操作下拉菜單。

首先,我們要更改HeroAdmin管理模型使用的模板文件,以便我們可以添加兩個(gè)按鈕:

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

然后,我們需要覆蓋get_urls方法,并在管理模型上添加set_immortal和set_mortal方法。它們將用作兩種view視圖:

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

最后,我們通過擴(kuò)展admin/change_list.html來創(chuàng)建模板文件entities/heroes_changelist.html:

{% extends 'admin/change_list.html' %}
{% 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 />
  {{ block.super }}
{% endblock %}

在點(diǎn)擊頁面的make_mortal動(dòng)作后,英雄全都可以死亡,你會(huì)看到如下消息提示。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

沛县| 贵阳市| 寿光市| 张家口市| 京山县| 夏河县| 辽宁省| 新化县| 花莲县| 集贤县| 遂昌县| 衡阳市| 枝江市| 连平县| 什邡市| 白玉县| 镇康县| 阳东县| 兖州市| 石景山区| 盖州市| 孟连| 阿拉善左旗| 集贤县| 泸定县| 乐平市| 孝义市| 融水| 德昌县| 公安县| 台江县| 东平县| 和平区| 济宁市| 民和| 贺兰县| 荔浦县| 平泉县| 达州市| 阜南县| 姚安县|