Django Admin后臺模型列表頁面如何添加自定義操作按鈕_第1頁
Django Admin后臺模型列表頁面如何添加自定義操作按鈕_第2頁
Django Admin后臺模型列表頁面如何添加自定義操作按鈕_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第DjangoAdmin后臺模型列表頁面如何添加自定義操作按鈕你需要添加兩個按鈕:一個按鈕使所有英雄都可以死亡,而另一個按鈕使所有英雄永生。由于它會影響所有英雄,而與選擇無關(guān),因此這需要一個單獨的按鈕,而不是操作下拉菜單。

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

@admin.register(Hero)

classHeroAdmin(admin.ModelAdmin,ExportCsvMixin):

change_list_template="entities/heroes_changelist.html"

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

defget_urls(self):

urls=super().get_urls()

my_urls=[

path('immortal/',self.set_immortal),

path('mortal/',self.set_mortal),

returnmy_urls+urls

defset_immortal(self,request):

self.model.objects.all().update(is_immortal=True)

self.message_user(request,"Allheroesarenowimmortal")

returnHttpResponseRedirect("../")

defset_mortal(self,request):

self.model.objects.all().update(is_immortal=False)

self.message_user(request,"Allheroesarenowmortal")

returnHttpResponseRedirect("../")

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

{%extends'admin/change_list.html'%}

{%blockobject-tools%}

div

formaction="immortal/"method="POST"

{%csrf_token%}

buttontype="submit"MakeImmortal/button

/form

formaction="mortal/"method="POST"

{%csrf_token%}

buttontype="submit"MakeMortal/button

/form

/div

br/

{{block.super}}

{%endblock%}

在點擊頁面的make_mort

評論

0/150

提交評論