我在templates\admin\pages\Device
中有以下更改表格
这将创建一个添加按钮"Make Immortal"
{% extends "admin/change_form.html" %}
{% load i18n %}
{% block object-tools-items %}
<div >
<form action="." method="POST">
{% csrf_token %}
<button type="submit">Make Immortal</button>
</form>
</div>
<br />
<br />
{{ block.super }}
{% endblock %}
我的管理页面如下:
#app/admin.py
class DeviceAdmin(admin.ModelAdmin):
def get_urls(self):
urls = super().get_urls()
my_urls = [path('device/', self.set_immortal),
path('device/', self.set_mortal),
]
return my_urls + urls
def set_immortal(self, request):
self.model.objects.all().update(power=True)
self.message_user(request, "All devices are up")
return HttpResponseRedirect("../")
def set_mortal(self, request):
self.model.objects.all().update(power=False)
self.message_user(request, "All devices are off")
return HttpResponseRedirect("../")
当我单击“制作凡人”时,它将打开一个空设备表单,如下所示。 我想要的只是更新数据库中的电源状态并显示消息。然后在更改表单中显示更新的值。
我正在关注以下教程,但无法解决问题 https://media.readthedocs.org/pdf/django-admin-cookbook/latest/django-admin-cookbook.pdf#page=21&zoom=100,0,424