gpt4 book ai didi

python - 在 Django 的 admin change_form 中创建自定义按钮

转载 作者:IT老高 更新时间:2023-10-28 21:05:52 25 4
gpt4 key购买 nike

我想在管理界面的添加/更改表单中添加自定义按钮。默认只有三个:

  • 保存并添加另一个

  • 保存并继续编辑

  • 保存

我在 forms.py 文件中创建了一些自定义方法,我想创建按钮来调用这些方法。我使用了片段 http://djangosnippets.org/snippets/1842/ ,但这并不是我想要的。这个允许从 admin.py 文件而不是 forms.py.

创建按钮和调用方法

有没有办法做到这一点?

这是我的 admin.py 代码:

class CategoryAdmin(admin.ModelAdmin):
prepopulated_fields = { "alias": ("title",) }
form = CategoryForm

admin.site.register(Category, CategoryAdmin)

还有我的 forms.py 代码:

class CategoryForm(forms.ModelForm):
"""
My attributes
"""
def custom_method(self):
print("Hello, World!")

如何创建一个调用“custom_method()”的按钮?

最佳答案

我发现添加按钮的一种简单方法是为自定义按钮添加另一行。根据您的需要在模板目录中创建一个管理目录。例如,我通常在自定义模板中为特定模型添加按钮。创建一个“templates/admin/app/model/”目录。

然后添加一个文件change_form.html

{% extends "admin/change_form.html" %}
{% load i18n %}

{% block submit_buttons_bottom %}
<div class="submit-row">
<input type="button" value="{% trans 'Another Button' %}" name="_anotherbutton" />
</div>

{{ block.super }}
{% endblock %}

{{ block.super }} 之前的代码灵感来自模板标签 {% submit_row %}< 使用的 submit_line.html 模板。我更喜欢这种方法,因为它很简单,但您必须使用另一排按钮。

enter image description here

关于python - 在 Django 的 admin change_form 中创建自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4978362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com